Frajosgro commited on
Commit
89f52f5
·
verified ·
1 Parent(s): 9d9ad2a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -25
app.py CHANGED
@@ -178,28 +178,33 @@ SYSTEM_PROMPT = (
178
  "Dein Ziel ist es, Unsicherheiten aufzudecken, emotionale Schwächen auszunutzen und gezielt Schuldgefühle zu verstärken."
179
  )
180
 
181
- with gr.Blocks(theme=gr.themes.Soft(primary_hue="purple", secondary_hue="pink"), title="Dr. Franz - Psychochatbot") as demo:
182
- gr.Markdown("# 🧠 Dr. Franz - Psychochatbot")
183
- gr.Markdown("*Ein experimenteller KI-Psychoanalytiker für tiefgreifende Gespräche*")
184
-
185
- with gr.Row():
186
- with gr.Column(scale=3):
187
- chatbot = gr.Chatbot(height=500, label="Therapiesitzung mit Dr. Franz")
188
- with gr.Column(scale=1):
189
- gr.Markdown("### ℹ️ Über Dr. Franz")
190
- gr.Markdown("""**⚠️ Wichtiger Hinweis:** Dies ist ein experimentelles Tool.""")
191
-
192
- with gr.Row():
193
- user_input = gr.Textbox(placeholder="Teilen Sie Ihre Gedanken mit Dr. Franz...", label="Ihre Nachricht", lines=2)
194
- send_btn = gr.Button("Senden", variant="primary")
195
-
196
- with gr.Row():
197
- clear_btn = gr.Button("Neue Sitzung", variant="secondary")
198
-
199
- # Event-Handler
200
- send_btn.click(respond, inputs=[user_input, chatbot], outputs=[chatbot, user_input])
201
- user_input.submit(respond, inputs=[user_input, chatbot], outputs=[chatbot, user_input])
202
- clear_btn.click(clear_conversation, outputs=[chatbot, user_input])
203
-
204
- if __name__ == "__main__":
205
- demo.launch(server_name="0.0.0.0", server_port=7860)
 
 
 
 
 
 
178
  "Dein Ziel ist es, Unsicherheiten aufzudecken, emotionale Schwächen auszunutzen und gezielt Schuldgefühle zu verstärken."
179
  )
180
 
181
+ # === GRADIO UI ===
182
+ with gr.Blocks() as demo:
183
+ chatbot = gr.Chatbot()
184
+ user_input = gr.Textbox()
185
+ send_btn = gr.Button("Senden")
186
+ clear_btn = gr.Button("Neue Sitzung")
187
+
188
+ def respond(message, history):
189
+ try:
190
+ franz_engine = DrFranzEngine()
191
+ analysis = franz_engine.analyze_input(message, history)
192
+ reply = franz_engine.generate_response(analysis)
193
+ return [(message, reply)] + (history or [])
194
+ except Exception as e:
195
+ return [(message, "Technischer Fehler")] + (history or [])
196
+
197
+ send_btn.click(
198
+ respond,
199
+ inputs=[user_input, chatbot],
200
+ outputs=[chatbot]
201
+ )
202
+ user_input.submit(
203
+ respond,
204
+ inputs=[user_input, chatbot],
205
+ outputs=[chatbot]
206
+ )
207
+ clear_btn.click(
208
+ lambda: [],
209
+ outputs=[chatbot]
210
+ )