Tim13ekd commited on
Commit
588e283
·
verified ·
1 Parent(s): bc7e9df

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -18
app.py CHANGED
@@ -1,42 +1,43 @@
1
  import gradio as gr
2
  from groq import Groq
3
 
4
- def generate_game(api_key, prompt):
5
  """
6
- Generiert ein HTML5-Spiel mit Groq.
7
- api_key: Groq API Key (wird nur im Speicher genutzt)
8
- prompt: Spielidee
9
  """
10
  if not api_key:
11
- return "Bitte API-Key eingeben!"
12
 
13
  try:
14
  client = Groq(api_key=api_key)
15
  completion = client.chat.completions.create(
16
- model="openai/gpt-oss-120b",
17
  messages=[
18
  {
19
  "role": "system",
20
  "content": (
21
  "Du bist ein professioneller Game Developer. "
22
- "Generiere sauberen, vollständigen HTML5-Code. "
23
- "Nur HTML + JS, keine Erklärungen, nur Canvas-Spiele."
 
24
  )
25
  },
26
  {"role": "user", "content": prompt}
27
  ],
28
  temperature=0.8
29
  )
30
- return completion.choices[0].message.content
 
31
  except Exception as e:
32
- return f"Fehler: {e}"
33
 
34
- # UI mit Gradio
35
  with gr.Blocks() as demo:
36
- gr.Markdown("# ⚡ KI HTML5 Game Generator")
37
  gr.Markdown(
38
- "Trage deinen GROQ API-Key ein (wird nicht gespeichert) und gib eine Spielidee ein. "
39
- "Die KI generiert HTML5-Code, der direkt spielbar ist."
40
  )
41
 
42
  with gr.Row():
@@ -58,10 +59,11 @@ with gr.Blocks() as demo:
58
  label="HTML5 Game Code",
59
  lines=25
60
  )
61
- preview_output = gr.HTML(label="Game Vorschau")
62
 
63
- # Events
64
- btn.click(generate_game, inputs=[api_key_input, prompt_input], outputs=code_output)
65
- code_output.change(lambda x: x, code_output, preview_output)
 
66
 
67
  demo.launch()
 
1
  import gradio as gr
2
  from groq import Groq
3
 
4
+ def generate_and_preview(api_key, prompt):
5
  """
6
+ Generiert HTML5-Spiel mit Groq und gibt den Code für Code-Feld
7
+ und HTML-Vorschau zurück.
 
8
  """
9
  if not api_key:
10
+ return "Bitte API-Key eingeben!", ""
11
 
12
  try:
13
  client = Groq(api_key=api_key)
14
  completion = client.chat.completions.create(
15
+ model="llama3-70b-8192",
16
  messages=[
17
  {
18
  "role": "system",
19
  "content": (
20
  "Du bist ein professioneller Game Developer. "
21
+ "Generiere vollständigen HTML5-Spielcode. "
22
+ "Nur HTML + JS, kein Markdown oder Text. "
23
+ "Canvas-basiertes Spiel, sofort spielbar."
24
  )
25
  },
26
  {"role": "user", "content": prompt}
27
  ],
28
  temperature=0.8
29
  )
30
+ html_code = completion.choices[0].message.content
31
+ return html_code, html_code # Code + Vorschau
32
  except Exception as e:
33
+ return f"Fehler: {e}", ""
34
 
35
+ # Gradio UI
36
  with gr.Blocks() as demo:
37
+ gr.Markdown("# ⚡ KI HTML5 Game Generator mit Live-Vorschau")
38
  gr.Markdown(
39
+ "API-Key eingeben (wird nicht gespeichert) + Spielidee "
40
+ "Die KI generiert HTML5-Code, der sofort spielbar ist."
41
  )
42
 
43
  with gr.Row():
 
59
  label="HTML5 Game Code",
60
  lines=25
61
  )
62
+ preview_output = gr.HTML(label="Live Vorschau")
63
 
64
+ # Event: Button klick
65
+ btn.click(generate_and_preview,
66
+ inputs=[api_key_input, prompt_input],
67
+ outputs=[code_output, preview_output])
68
 
69
  demo.launch()