Tim13ekd commited on
Commit
9f8f775
·
verified ·
1 Parent(s): dcf9f00

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -6
app.py CHANGED
@@ -2,22 +2,63 @@ import gradio as gr
2
  from groq import Groq
3
  import os
4
 
5
- # Secret auslesen
6
- client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
 
 
7
 
 
 
 
8
  def generate_game(prompt):
 
 
 
9
  completion = client.chat.completions.create(
10
  model="llama3-70b-8192",
11
  messages=[
12
- {"role": "system", "content": "Du generierst komplette HTML5-Spiele. Gib nur gültigen HTML-Code aus."},
 
 
 
 
 
 
 
 
13
  {"role": "user", "content": prompt}
14
  ],
15
  temperature=0.8
16
  )
 
17
  return completion.choices[0].message.content
18
 
 
19
  with gr.Blocks() as demo:
20
  gr.Markdown("# ⚡ Groq HTML5 Game Generator")
21
- prompt = gr.Textbox(label="Spielidee", placeholder="2D Jump and Run mit Gegnern")
22
- btn = gr.Button("⚡ Generieren")
23
- code = gr.Code(language="htm
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  from groq import Groq
3
  import os
4
 
5
+ # ✅ Groq-Client initialisieren (Secret auslesen)
6
+ api_key = os.environ.get("GROQ_API_KEY")
7
+ if not api_key:
8
+ raise ValueError("Bitte GROQ_API_KEY als Secret in deinem Space hinterlegen!")
9
 
10
+ client = Groq(api_key=api_key)
11
+
12
+ # 🔹 Funktion zur Spiel-Generierung
13
  def generate_game(prompt):
14
+ """
15
+ Nimmt eine Spielidee als Text und gibt kompletten HTML5-Code zurück.
16
+ """
17
  completion = client.chat.completions.create(
18
  model="llama3-70b-8192",
19
  messages=[
20
+ {
21
+ "role": "system",
22
+ "content": (
23
+ "Du bist ein professioneller Game Developer. "
24
+ "Erzeuge vollständigen, sauberen HTML5-Spielcode. "
25
+ "Nur HTML + JS, keine Erklärungen, kein Markdown. "
26
+ "Canvas basiertes Spiel, spielbar im Browser."
27
+ )
28
+ },
29
  {"role": "user", "content": prompt}
30
  ],
31
  temperature=0.8
32
  )
33
+ # Der generierte HTML-Code
34
  return completion.choices[0].message.content
35
 
36
+ # 🔹 Gradio UI
37
  with gr.Blocks() as demo:
38
  gr.Markdown("# ⚡ Groq HTML5 Game Generator")
39
+ gr.Markdown(
40
+ "Gib eine Spielidee ein, die KI generiert das HTML5-Spiel. "
41
+ "Der Code wird direkt spielbar im Browser."
42
+ )
43
+
44
+ prompt = gr.Textbox(
45
+ label="Spielidee",
46
+ placeholder="Beispiel: 2D Jump'n'Run mit Gegnern und Score",
47
+ lines=3
48
+ )
49
+
50
+ btn = gr.Button("🎮 Generieren")
51
+
52
+ code = gr.Code(
53
+ language="html",
54
+ label="HTML5 Game Code",
55
+ lines=25
56
+ )
57
+
58
+ preview = gr.HTML(label="Game Vorschau")
59
+
60
+ # Events
61
+ btn.click(generate_game, prompt, code)
62
+ code.change(lambda x: x, code, preview)
63
+
64
+ demo.launch()