Alibrown commited on
Commit
c828461
·
verified ·
1 Parent(s): 378b08a

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +67 -0
app.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright Volkan Sah Kücükbudak
2
+ # Only for academic research!
3
+ import gradio as gr
4
+ import os
5
+ import json
6
+ from pathlib import Path
7
+ from modules.model_handler import AI_MODELS, generate_code
8
+ from modules.config_loader import load_config
9
+
10
+ # Huggingface Spaces-Konfiguration
11
+ HF_SPACE = os.getenv('HF_SPACE', False)
12
+ TEMP_DIR = Path('/tmp') if HF_SPACE else Path(__file__).parent / 'temp'
13
+ TEMP_DIR.mkdir(exist_ok=True)
14
+
15
+ # UI-Komponenten
16
+ def create_interface():
17
+ with gr.Blocks(title="KI-Assistent Generator") as demo:
18
+ gr.Markdown("# 🚀 KI-Assistent Generator")
19
+
20
+ with gr.Row():
21
+ with gr.Column(scale=2):
22
+ task_input = gr.Textbox(label="Aufgabenbeschreibung", placeholder="Beschreibe deinen gewünschten Assistenten...")
23
+ api_key = gr.Textbox(label="API-Key", type="password")
24
+ language = gr.Dropdown(["python", "php", "javascript"], label="Programmiersprache")
25
+ generate_btn = gr.Button("Generieren", variant="primary")
26
+
27
+ with gr.Column(scale=3):
28
+ code_output = gr.Code(label="Generierter Code", language="python", interactive=True)
29
+ status = gr.Textbox(label="Status", interactive=False)
30
+
31
+ generate_btn.click(
32
+ generate_code_wrapper,
33
+ inputs=[task_input, api_key, language],
34
+ outputs=[code_output, status]
35
+ )
36
+
37
+ return demo
38
+
39
+ # Hilfsfunktion für Code-Generierung
40
+ def generate_code_wrapper(task_input, api_key, language):
41
+ try:
42
+ if not task_input.strip():
43
+ return "", "⚠️ Bitte Aufgabenbeschreibung eingeben!"
44
+
45
+ if not api_key.strip():
46
+ return "", "🔑 API-Key wird benötigt!"
47
+
48
+ generated_code = generate_code(
49
+ task_input=task_input,
50
+ api_key=api_key,
51
+ language=language,
52
+ hf_space=HF_SPACE,
53
+ temp_dir=str(TEMP_DIR)
54
+ )
55
+
56
+ return generated_code, "✅ Code erfolgreich generiert!"
57
+ except Exception as e:
58
+ return "", f"❌ Fehler: {str(e)}"
59
+
60
+ if __name__ == "__main__":
61
+ config = load_config()
62
+ interface = create_interface()
63
+ interface.launch(
64
+ server_name="0.0.0.0",
65
+ server_port=int(os.getenv('PORT', 7860)),
66
+ share=config.get('share', False)
67
+ )