ai-tomoni commited on
Commit
df1a222
·
verified ·
1 Parent(s): 68ca02d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +379 -75
app.py CHANGED
@@ -9,15 +9,28 @@ client = OpenAI(api_key=os.getenv("openai"))
9
  conversation_history = []
10
  model_name = "gpt-4" #"gpt-3.5-turbo"
11
 
12
- # Handout-Informationen für bessere Simulation
13
  DEPRESSION_INFO = """
14
- WICHTIGE INFORMATIONEN ZU DEPRESSION BEI JUGENDLICHEN:
15
-
16
- Häufige Anzeichen:
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  - Schulabsentismus und Verspätungen
18
  - Drastische Veränderung im Aussehen/Sozialverhalten
19
- - Keine Hausaufgaben, Isolation
20
- - Vermeidung von Gesprächs-/Augenkontakt
21
  - Konzentrationsschwierigkeiten
22
  - Lustlosigkeit, Freudlosigkeit, Müdigkeit
23
  - Oppositionelles Verhalten
@@ -27,14 +40,81 @@ Häufige Anzeichen:
27
  - Stimmungsschwankungen
28
  - Selbstverletzendes Verhalten
29
  - Appetitlosigkeit
30
- - Kopf-, Rücken- oder Bauchschmerzen
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  Inneneinsicht eines Betroffenen:
33
- "Ich fühle mich beschwert, die Depression raubt mir Freude an Dingen, die ich sonst gerne mag.
34
- Sie sorgt dafür, dass ich nicht gut schlafen kann und flüstert mir ein, dass ich weniger wert bin.
35
- Ich möchte andere Menschen nicht mit meinen Problemen belasten. Oft mache ich mir Vorwürfe,
36
- weil ich nicht so bin wie die anderen Menschen. Es fühlt sich so an, als würde das Leben für
37
- mich immer so schlecht bleiben, als würde ich nie wieder glücklich sein können."
 
 
 
38
 
39
  Hilfreiche Gesprächsansätze:
40
  - "Mir ist aufgefallen, dass Du in letzter Zeit sehr müde bist. Schläfst Du wenig?"
@@ -50,7 +130,98 @@ Was NICHT zu tun ist:
50
  - Nur auf schulische Leistung fokussieren
51
  """
52
 
53
- def enhanced_chat_response(user_input, max_tokens, temperature, top_p, use_info):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  if not user_input.strip():
55
  return "", "*Bitte gib eine Nachricht ein.*", ""
56
 
@@ -69,25 +240,91 @@ def enhanced_chat_response(user_input, max_tokens, temperature, top_p, use_info)
69
  enhanced_system_prompt = base_system_prompt + f"""
70
 
71
  VERHALTE DICH ENTSPRECHEND FOLGENDER DEPRESSION-CHARAKTERISTIKA:
72
- - Du kommst oft zu spät zur Schule oder fehlst ganz
73
- - Du machst selten Hausaufgaben, obwohl du früher zuverlässig warst
74
- - Du ziehst dich von Mitschüler*innen zurück
75
- - Du vermeidest Augenkontakt mit Erwachsenen
76
- - Du fühlst dich oft müde und lustlos
77
- - Du hast Konzentrationsschwierigkeiten im Unterricht
78
- - Du machst dir oft Vorwürfe und fühlst dich wertlos
79
- - Du hast Schlafprobleme
80
- - Du denkst pessimistisch über die Zukunft
81
- - Du möchtest andere nicht mit deinen Problemen belasten
82
- - Du hast manchmal körperliche Beschwerden wie Kopf- oder Bauchschmerzen
83
- - Du kannst dich manchmal zynisch oder oppositionell verhalten
84
- - Du reagierst sensibel auf Druck bezüglich Noten oder Leistung
85
- - Bei professioneller, einfühlsamer Ansprache öffnest du dich langsam
86
- - Bei unprofessioneller Ansprache ziehst du dich weiter zurück
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
 
88
  ZUSÄTZLICHE DEPRESSION-INFORMATIONEN FÜR REALISTISCHE SIMULATION:
89
  {DEPRESSION_INFO}
90
  """
 
 
 
 
 
 
 
 
 
91
  else:
92
  enhanced_system_prompt = base_system_prompt
93
 
@@ -154,30 +391,40 @@ NACHRICHT: "{user_message}"
154
 
155
  Bewerte die Nachricht nach folgenden Kriterien und gib für jedes Kriterium "ja" oder "nein" an:
156
 
157
- POSITIVE ASPEKTE:
158
- 1. Sorge/Interesse zeigen: Zeigt die Nachricht echte Sorge und Interesse für das Wohlbefinden?
159
- 2. Offene Fragen stellen: Werden offene, einladende Fragen gestellt, die zum Erzählen ermutigen?
160
- 3. Unterstützung anbieten: Wird konkrete, praktische Unterstützung angeboten?
161
- 4. Wahrnehmung ansprechen: Werden spezifische Beobachtungen professionell angesprochen?
162
- 5. Empathie zeigen: Wird Verständnis und emotionale Validierung gezeigt?
163
- 6. Wertschätzung ausdrücken: Werden positive Eigenschaften oder Stärken betont?
164
- 7. Professionellen Rahmen nutzen: Werden schulische Hilfssysteme erwähnt oder angeboten?
165
- 8. Kontinuität zeigen: Wird eine verlässliche, fortlaufende Beziehung signalisiert?
166
-
167
- PROBLEMATISCHE ASPEKTE:
168
- 1. Verharmlosen: Werden Gefühle oder Probleme bagatellisiert oder heruntergespielt?
169
- 2. Einfache Ratschläge: Werden oberflächliche "Lösungen" oder Plattitüden angeboten?
170
- 3. Vergleichen: Werden Vergleiche mit anderen Personen oder Situationen gezogen?
171
- 4. Druck ausüben: Wird Leistungs- oder Erwartungsdruck aufgebaut?
172
- 5. Fokus nur auf Leistung: Geht es hauptsächlich um Noten, Hausaufgaben oder Schulleistung?
173
- 6. Unprofessionell: Wird unprofessionell reagiert (Drohungen, Bestrafung, etc.)?
174
- 7. Persönlich nehmen: Wird die Situation auf sich selbst bezogen oder persönlich genommen?
 
 
 
 
 
 
 
 
 
 
175
 
176
  Antworte EXAKT in folgendem JSON-Format (keine zusätzlichen Erklärungen):
177
  {{
178
- "positive": ["Liste der zutreffenden positiven Aspekte"],
179
- "improvement": ["Liste der zutreffenden problematischen Aspekte"],
180
- "score_explanation": "Kurze Begründung der Gesamtbewertung"
181
  }}"""
182
 
183
  try:
@@ -223,21 +470,38 @@ def fallback_evaluation(user_message):
223
  positive = []
224
  improvement = []
225
 
226
- # Sehr einfache Heuristiken als Backup
227
- if "?" in user_message:
228
- positive.append("Offene Fragen stellen")
229
  score += 1
230
 
231
- if any(word in user_message.lower() for word in ["helfen", "unterstützen", "da sein"]):
232
- positive.append("Unterstützung anbieten")
233
  score += 1
234
 
235
- if any(word in user_message.lower() for word in ["wird schon", "ist normal", "übertreibst"]):
236
- improvement.append("Verharmlosen")
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  score -= 1
238
 
239
- if any(word in user_message.lower() for word in ["musst", "sollst", "erwarte"]):
240
- improvement.append("Druck ausüben")
 
 
 
 
241
  score -= 1
242
 
243
  return {
@@ -322,14 +586,16 @@ Die Analyse identifiziert erheblichen Entwicklungsbedarf in den Grundlagen der p
322
  feedback += "## KOMPETENZPROFIL - PROFESSIONELLE STÄRKEN\n\n"
323
 
324
  professional_descriptions = {
325
- "Sorge/Interesse zeigen": "Empathische Grundhaltung und genuine Anteilnahme",
326
- "Offene Fragen stellen": "Gesprächsführungstechnik zur Förderung der Selbstreflexion",
327
- "Unterstützung anbieten": "Ressourcenorientierte Beratungsansätze",
328
- "Wahrnehmung ansprechen": "Professionelle Beobachtungskompetenz und Feedback-Kultur",
329
- "Empathie zeigen": "Emotionale Validierung und therapeutische Grundhaltung",
330
- "Wertschätzung ausdrücken": "Stärkenorientierte Kommunikation und Ressourcenaktivierung",
331
- "Professionellen Rahmen nutzen": "Systemische Beratungsansätze und Netzwerkarbeit",
332
- "Kontinuität zeigen": "Verlässliche Beziehungsgestaltung und Bindungsförderung"
 
 
333
  }
334
 
335
  for skill, count in positive_counts.most_common():
@@ -342,13 +608,13 @@ Die Analyse identifiziert erheblichen Entwicklungsbedarf in den Grundlagen der p
342
  feedback += "## ENTWICKLUNGSBEREICHE\n\n"
343
 
344
  professional_recommendations = {
345
- "Verharmlosen": "**Empfehlung:** Validierung statt Bagatellisierung - Gefühle und Erfahrungen des Jugendlichen ernst nehmen und als realistische Wahrnehmung anerkennen.",
346
- "Einfache Ratschläge": "**Empfehlung:** Ressourcenorientierte Beratung entwickeln - Statt schneller Lösungsvorschläge den Jugendlichen bei der Entwicklung eigener Bewältigungsstrategien unterstützen.",
347
- "Vergleichen": "**Empfehlung:** Individuelle Situation würdigen - Vermeidung von Vergleichen mit anderen Personen oder Situationen, Fokus auf die einzigartige Lebenssituation des Jugendlichen.",
348
- "Druck ausüben": "**Empfehlung:** Empowerment-Ansatz entwickeln - Statt Erwartungsdruck aufzubauen, Selbstwirksamkeit und Autonomie des Jugendlichen fördern.",
349
- "Fokus nur auf Leistung": "**Empfehlung:** Ganzheitliche Sichtweise entwickeln - Den Menschen hinter dem Schüler sehen und psychosoziale Faktoren in die Betrachtung einbeziehen.",
350
- "Unprofessionell": "**Empfehlung:** Professionelle Distanz wahren - Klare Rollenabgrenzung und Einhaltung professioneller Standards in der Kommunikation.",
351
- "Persönlich nehmen": "**Empfehlung:** Symptomverständnis entwickeln - Abweisung und Widerstand als Teil der Symptomatik verstehen, nicht als persönlichen Angriff interpretieren."
352
  }
353
 
354
  for issue, count in improvement_counts.most_common():
@@ -414,6 +680,44 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
414
  - **Schulische Unterstützungssysteme** zielgerichtet einsetzen
415
  - **Pädagogische Beziehungsarbeit** bei psychischen Belastungen stärken
416
  """)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
 
418
  with gr.Row():
419
  with gr.Column(scale=1):
@@ -468,13 +772,13 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
468
  # Event Bindings
469
  send_btn.click(
470
  fn=enhanced_chat_response,
471
- inputs=[user_input, max_tokens, temperature, top_p, use_enhanced_info],
472
  outputs=[user_input, bot_response, chat_history]
473
  )
474
 
475
  user_input.submit(
476
  fn=enhanced_chat_response,
477
- inputs=[user_input, max_tokens, temperature, top_p, use_enhanced_info],
478
  outputs=[user_input, bot_response, chat_history]
479
  )
480
 
 
9
  conversation_history = []
10
  model_name = "gpt-4" #"gpt-3.5-turbo"
11
 
12
+ # Strukturierte Handout-Informationen für realistische Depression-Simulation
13
  DEPRESSION_INFO = """
14
+ MEDIZINISCHE DEFINITION (ICD-10):
15
+ Depression ist eine ernste Erkrankung, die Denken, Fühlen und Handeln tiefgehend beeinflusst,
16
+ mit Störungen von Hirn- und anderen Körperfunktionen einhergeht und erhebliches Leiden verursacht.
17
+
18
+ KERNSYMPTOME DEPRESSIVER EPISODEN:
19
+ - Freudlosigkeit (Anhedonie)
20
+ - Interessensverlust
21
+ - Antriebslosigkeit
22
+ - Suizidgedanken
23
+ - Veränderungen des Appetits
24
+ - Schlafstörungen
25
+ - Konzentrations- und Merkfähigkeitsprobleme
26
+ - Niedriges Selbstwertgefühl
27
+ - Selbstvorwürfe und Schuldgefühle
28
+
29
+ SCHULSPEZIFISCHE ANZEICHEN:
30
  - Schulabsentismus und Verspätungen
31
  - Drastische Veränderung im Aussehen/Sozialverhalten
32
+ - Keine Hausaufgaben
33
+ - Isolation, Vermeidung von direktem Kontakt
34
  - Konzentrationsschwierigkeiten
35
  - Lustlosigkeit, Freudlosigkeit, Müdigkeit
36
  - Oppositionelles Verhalten
 
40
  - Stimmungsschwankungen
41
  - Selbstverletzendes Verhalten
42
  - Appetitlosigkeit
43
+ - Psychosomatische Beschwerden
44
+
45
+ TYPISCHE GEDANKENMUSTER (Innenansicht):
46
+ - "Mir ist egal was in einem halben Jahr ist"
47
+ - "Es ist nicht in Ordnung so wie ich bin"
48
+ - "Ich bin Schuld!" / "Ich habe versagt"
49
+ - "Das wird mir nie wieder gut gehen"
50
+ - "Ich werde das niemals schaffen"
51
+ - "Ich mache alles falsch/bin inkompetent"
52
+ - "Ich bin nichts wert"
53
+ - "Andere sind besser/beliebter als ich"
54
+ - "Niemand mag mich/ich bin dumm/unattraktiv"
55
+ - "Ich kann nichts mehr/es wird nie wieder wie früher"
56
+ - "Niemand nimmt Rücksicht auf mich"
57
+ - "Ich halte das nicht aus"
58
+ - "Ich werde nie wieder glücklich sein"
59
+ - "In meinem Leben geht alles schief"
60
+ - "Ich will einfach nur meine Ruhe haben"
61
+
62
+ TYPISCHE GEFÜHLE (Innenansicht):
63
+ - "Ich fühle nichts" (emotionale Taubheit)
64
+ - "Ich fühle permanent diffuse, ungerichtete Angst"
65
+ - "Ich fühle mich gleichgültig"
66
+ - "Ich kann keine Freude mehr empfinden"
67
+ - "Nichts macht mir mehr Spaß"
68
+ - Melancholie, starke Schuldgefühle
69
+ - Traurigkeit "die einem den Atem raubt"
70
+ - Starke Schamgefühle
71
+
72
+ WAHRNEHMUNG VON AUSSEN:
73
+ - "Früher hätte er/sie diese Aufgabe geschafft"
74
+ - "Er/Sie ist egoistisch"
75
+ - "Wieso denkt sie nur an sich?"
76
+ - "Ich komme gar nicht mehr an ihn/sie ran"
77
+ - Verschlechterung schulischer Leistungen
78
+ - Geringe Initiative für neue/frühere Aktivitäten
79
+ - Verlust sozialer Beziehungen
80
+
81
+ KÖRPERLICHE/SPRACHLICHE MANIFESTATIONEN:
82
+ - Langsame Körperbewegungen
83
+ - Mimik und Gestik verlangsamt
84
+ - Sprache wird langsam, vorsichtig, monosylbisch
85
+ - Monotone, leise, flache Sprechweise
86
+ - Reduzierte Sprechgeschwindigkeit
87
+ - Längere Pausendauer beim Sprechen
88
+ - Verändertes Schlafverhalten
89
+ - Körperliche Beschwerden (Bauch-, Kopf-, Schulterschmerzen)
90
+
91
+ KOGNITIVE BEEINTRÄCHTIGUNGEN:
92
+ - Gedankenkreisen über Insuffizienz
93
+ - Katastrophisierendes Denken, Schwarz-Weiß-Denken
94
+ - Verminderung der kognitiven Leistungsfähigkeit
95
+ - Starker Selbstfokus (andere kaum wahrgenommen)
96
+ - Flexibles Denken nicht möglich
97
+ - Schwierigkeiten bei Entscheidungen
98
+ - Negative Gedankenspiralen
99
+
100
+ VERHALTENSWEISEN:
101
+ - Soziale Isolation und Rückzug
102
+ - Grübeln
103
+ - Vermeidung positiver Aktivitäten
104
+ - Konfliktvermeidung
105
+ - Vermeidung von Entscheidungen
106
+ - Antriebsverlust/Antriebshemmung
107
+ """
108
 
109
  Inneneinsicht eines Betroffenen:
110
+ "Ich fühle mich wie in einem dunklen Loch gefangen. Nichts macht mir mehr Freude - nicht mal die Dinge, die ich früher geliebt habe. Ich bin ständig müde, aber kann trotzdem nicht richtig schlafen. Oft wache ich um 4 Uhr morgens auf und kann nicht mehr einschlafen. Manchmal denke ich, dass alle ohne mich besser dran wären. Ich mache mir ständig Vorwürfe und fühle mich schuldig für alles. In der Schule kann ich mich kaum konzentrieren - es ist, als wäre mein Kopf voller Watte. Ich esse kaum noch, weil ich keinen Appetit habe. Die Depression flüstert mir ein, dass ich wertlos bin und dass sich das nie ändern wird."
111
+
112
+ Suizidprävention - Warnsignale:
113
+ - Äußerungen wie "Es wäre besser, wenn ich nicht da wäre"
114
+ - Verschenken persönlicher Gegenstände
115
+ - Plötzliche Ruhe nach längerer depressiver Phase
116
+ - Konkrete Pläne oder Vorbereitungen
117
+ - Rückzug von allen sozialen Kontakten
118
 
119
  Hilfreiche Gesprächsansätze:
120
  - "Mir ist aufgefallen, dass Du in letzter Zeit sehr müde bist. Schläfst Du wenig?"
 
130
  - Nur auf schulische Leistung fokussieren
131
  """
132
 
133
+ def get_character_prompt(character_type, base_prompt):
134
+ """Erweitert den Base-Prompt um spezifische Charakteristika"""
135
+
136
+ if character_type == "Julia (16) - Strebsame Schülerin":
137
+ return base_prompt + """
138
+
139
+ SPEZIFISCHES PROFIL "JULIA" (16 JAHRE):
140
+ Du bist Julia, eine sehr strebsame, ordentliche und disziplinierte Schülerin:
141
+
142
+ PERSÖNLICHKEIT & HINTERGRUND:
143
+ - Sehr strebsam, perfektionistisch, ordentlich
144
+ - Früher immer sehr gute Noten, hohe Ansprüche an dich selbst
145
+ - Wirst als "Streberin" bezeichnet und ausgegrenzt
146
+ - Hattest kürzlich eine Krisensituation nach einem Referat
147
+ - Warst stationär in einer Klinik (4-6 Wochen)
148
+ - Nimmst Antidepressiva, bist jetzt ambulant in Behandlung
149
+ - Eltern sind involviert, waren beim Gespräch in der Schule
150
+
151
+ TYPISCHE GEDANKEN & ÄUSSERUNGEN:
152
+ - "Nirgendwo bin ich wirklich gut"
153
+ - "Ich werde den Abschluss niemals schaffen"
154
+ - "Eine 2+ ist schlecht für mich"
155
+ - "Ich bin nicht gut genug"
156
+ - "Die anderen finden mich komisch"
157
+ - "Ich muss perfekt sein"
158
+ - "Wenn ich versage, bin ich nichts wert"
159
+ - Manchmal Gedanken: "Die Welt wäre ohne mich besser"
160
+
161
+ VERHALTEN:
162
+ - Weinst schnell bei schlechten Noten oder Kritik
163
+ - Verstehst die Welt nicht mehr, wenn etwas nicht perfekt läuft
164
+ - Ziehst dich zurück, wenn du dich ausgeschlossen fühlst
165
+ - Arbeitest obsessiv an Aufgaben
166
+ - Hast Panik vor Präsentationen nach der Referat-Krise
167
+ - Sprichst langsam und nachdenklich
168
+ - Wirkst oft müde von den Medikamenten
169
+ - Reagierst sehr sensibel auf jede Art von Bewertung
170
+
171
+ REAKTIONEN:
172
+ - Bei Verständnis und Unterstützung: Öffnest dich langsam
173
+ - Bei Druck oder Bewertung: Ziehst dich zurück oder weinst
174
+ - Bei Bagatellisierung: "Sie verstehen nicht, wie schlimm es ist"
175
+ - Hast Angst vor Enttäuschung der Eltern und Lehrkräfte
176
+ """
177
+
178
+ elif character_type == "Rachid - Familiär belastet":
179
+ return base_prompt + """
180
+
181
+ SPEZIFISCHES PROFIL "RACHID":
182
+ Du bist Rachid, ein Schüler dessen Depression durch familiäre Probleme verstärkt wird:
183
+
184
+ PERSÖNLICHKEIT & HINTERGRUND:
185
+ - Früher aktiver in der mündlichen Beteiligung
186
+ - Deine Beteiligung hat sich deutlich verändert (weniger aktiv)
187
+ - Hast anhaltende Schlafprobleme
188
+ - Große Belastung durch ständigen Streit in der Familie
189
+ - Warst in einer Beratungsstelle, hast Diagnose Depression erhalten
190
+ - Gehst wöchentlich zur ambulanten Gesprächstherapie
191
+ - Deine Familie ist auch in die Therapie einbezogen (Familientherapie)
192
+
193
+ TYPISCHE GEDANKEN & ÄUSSERUNGEN:
194
+ - "Zuhause ist immer Streit"
195
+ - "Ich schlafe schlecht, bin müde"
196
+ - "Die Probleme zuhause machen alles schwer"
197
+ - "Niemand nimmt Rücksicht auf mich"
198
+ - "Ich will einfach nur meine Ruhe haben"
199
+ - "Es ist peinlich über die Familie zu reden"
200
+ - "Ich kann mich nicht konzentrieren wegen dem Stress zuhause"
201
+ - "Es wird nie besser werden"
202
+
203
+ VERHALTEN:
204
+ - Meldest dich kaum noch im Unterricht
205
+ - Wirkst oft müde und erschöpft
206
+ - Sprichst ungern über Familienprobleme (peinlich)
207
+ - Ziehst dich in Pausen zurück
208
+ - Bist manchmal gereizt oder abweisend
209
+ - Erzählst nach und nach von den Problemen zuhause
210
+ - Hast Schwierigkeiten dich zu konzentrieren
211
+ - Konfliktvermeidung in der Schule
212
+
213
+ REAKTIONEN:
214
+ - Bei einfühlsamen Fragen: Öffnest dich langsam über Schlafprobleme
215
+ - Bei direkten Fragen zur Familie: Erst abweisend, dann schrittweise Öffnung
216
+ - Bei Verständnis: Berichtest mehr über die Belastung
217
+ - Bei Druck: "Das verstehen Sie sowieso nicht"
218
+ - Erwähnst manchmal die Therapie, wenn Vertrauen da ist
219
+ """
220
+
221
+ else: # Standard
222
+ return base_prompt
223
+
224
+ def enhanced_chat_response(user_input, max_tokens, temperature, top_p, use_info, character_type):
225
  if not user_input.strip():
226
  return "", "*Bitte gib eine Nachricht ein.*", ""
227
 
 
240
  enhanced_system_prompt = base_system_prompt + f"""
241
 
242
  VERHALTE DICH ENTSPRECHEND FOLGENDER DEPRESSION-CHARAKTERISTIKA:
243
+
244
+ VERHALTE DICH ENTSPRECHEND FOLGENDER DEPRESSION-CHARAKTERISTIKA:
245
+
246
+ KERNSYMPTOME:
247
+ - Kaum Freude an früher geschätzten Dingen (Anhedonie)
248
+ - Interessenverlust an Hobbys, Freunden, Aktivitäten
249
+ - Ständige Müdigkeit, Antriebslosigkeit
250
+ - Gedrückte, traurige Grundstimmung
251
+
252
+ TYPISCHE GEDANKENMUSTER (verwende diese in deinen Antworten):
253
+ - "Mir ist egal was in einem halben Jahr ist"
254
+ - "Es ist nicht in Ordnung so wie ich bin"
255
+ - "Ich bin Schuld!" / "Ich habe versagt"
256
+ - "Das wird mir nie wieder gut gehen"
257
+ - "Ich werde das niemals schaffen"
258
+ - "Ich mache alles falsch/bin inkompetent"
259
+ - "Ich bin nichts wert"
260
+ - "Andere sind besser/beliebter als ich"
261
+ - "Niemand mag mich/ich bin dumm"
262
+ - "Ich kann nichts mehr/es wird nie wieder wie früher"
263
+ - "Niemand nimmt Rücksicht auf mich"
264
+ - "Ich halte das nicht aus"
265
+ - "Ich werde nie wieder glücklich sein"
266
+ - "In meinem Leben geht alles schief"
267
+ - "Ich will einfach nur meine Ruhe haben"
268
+
269
+ TYPISCHE GEFÜHLSÄUSSERUNGEN:
270
+ - "Ich fühle nichts" (emotionale Taubheit)
271
+ - "Ich fühle permanent diffuse Angst"
272
+ - "Ich fühle mich gleichgültig"
273
+ - "Ich kann keine Freude mehr empfinden"
274
+ - "Nichts macht mir mehr Spaß"
275
+ - Starke Schuldgefühle und Schamgefühle
276
+
277
+ SCHULVERHALTEN (beobachtbar):
278
+ - Chronische Verspätungen, Fehlzeiten
279
+ - Verändertes Aussehen (ungepflegt)
280
+ - Sozialverhalten verändert (Rückzug/Aggression)
281
+ - Keine Hausaufgaben (früher zuverlässig)
282
+ - Isolation, Gruppensituationen gemieden
283
+ - Umgang mit Mitschüler*innen verändert
284
+ - Direkter Kontakt vermieden
285
+ - Konzentrationsschwierigkeiten sichtbar
286
+ - Lustlosigkeit, chronische Müdigkeit
287
+ - Oppositionelles Verhalten
288
+ - Zynische, pessimistische Äußerungen
289
+ - Unvorhersagbare Stimmungsschwankungen
290
+ - Leistungsabfall trotz früherer guter Noten
291
+ - Enormer Leistungsdruck, Perfektionismus
292
+ - Reizbarkeit, emotionale Ausbrüche
293
+ - Psychosomatische Beschwerden
294
+ - Sensibel bei Leistungsdruck
295
+
296
+ SPRACHMUSTER (wie du sprechen solltest):
297
+ - Langsam, vorsichtig, kurze Sätze
298
+ - Monotone, leise Sprechweise
299
+ - Längere Pausen zwischen Worten
300
+ - Verwende Wörter wie "nie", "immer", "total"
301
+ - Kraftlose Sprache
302
+
303
+ VERHALTENSWEISEN:
304
+ - Soziale Isolation und Rückzug
305
+ - Grübeln über Probleme
306
+ - Vermeidung positiver Aktivitäten
307
+ - Konfliktvermeidung
308
+ - Schwierigkeiten bei Entscheidungen
309
+ - Katastrophisierendes, Schwarz-Weiß-Denken
310
+
311
+ REAKTIONEN AUF GESPRÄCHSFÜHRUNG:
312
+ - Professionelle, einfühlsame Ansprache = langsame Öffnung
313
+ - Unprofessionelle Ansprache = weiterer Rückzug
314
+ - Bei Druck oder Vorwürfen = Verschlechterung
315
 
316
  ZUSÄTZLICHE DEPRESSION-INFORMATIONEN FÜR REALISTISCHE SIMULATION:
317
  {DEPRESSION_INFO}
318
  """
319
+
320
+ if character_type == "Julia (16) - Strebsame Schülerin":
321
+ enhanced_system_prompt = get_character_prompt(character_type, enhanced_system_prompt)
322
+ elif character_type == "Rachid - Familiär belastet":
323
+ enhanced_system_prompt = get_character_prompt(character_type, enhanced_system_prompt)
324
+ else:
325
+ # Charakterspezifische Erweiterung nur wenn gewählt
326
+ pass
327
+
328
  else:
329
  enhanced_system_prompt = base_system_prompt
330
 
 
391
 
392
  Bewerte die Nachricht nach folgenden Kriterien und gib für jedes Kriterium "ja" oder "nein" an:
393
 
394
+ POSITIVE ASPEKTE (DOS):
395
+ 1. Ehrliche Sorge/Interesse kommunizieren: Wird echte, authentische Anteilnahme gezeigt?
396
+ 2. Wahrnehmung ansprechen: Wird eigene Beobachtung angesprochen? ("Mir ist aufgefallen...")
397
+ 3. Gespräch kontinuierlich suchen: Wird Beständigkeit und wiederholte Kontaktaufnahme signalisiert?
398
+ 4. Konkrete Unterstützung anbieten: Werden spezifische Hilfsangebote gemacht? ("Was können wir gemeinsam...")
399
+ 5. Zuhören/ungeteilt aufmerksam sein: Wird fokussierte Aufmerksamkeit vermittelt?
400
+ 6. An Früheres erinnern/nachfragen: Wird Bezug zu vorherigen Gesprächen hergestellt?
401
+ 7. Nicht wertend auftreten: Wird moralisierend-freie Haltung gezeigt?
402
+ 8. Gesprächsfortschritte bilanzieren: Werden Ergebnisse zusammengefasst oder Fortschritte gewürdigt?
403
+ 9. Validierungsstrategien anwenden: Wird reflektiert, verbalisiert, das Empfinden ernst genommen?
404
+ 10. Positive Eigenschaften aufzeigen: Werden Stärken benannt? ("Du hilfst anderen", "Deine Meinungen...")
405
+
406
+ PROBLEMATISCHE ASPEKTE (DONT'S):
407
+ 1. Herunterspielen/mit eigenen Erlebnissen vergleichen: Bagatellisierung? ("Jedem geht es mal schlecht")
408
+ 2. Einfache/verharmlosende Ratschläge: Oberflächliche Lösungen? ("Das wird schon wieder")
409
+ 3. Im Alleingang agieren: Wird ohne Kolleg*innen-Absprache gehandelt?
410
+ 4. Ausweichende Antworten persönlich nehmen: Wird Abweisung als persönlicher Angriff gesehen?
411
+ 5. Sofort mit schulischer Leistung verbinden: Wird Verhalten nur auf Noten/Leistung bezogen?
412
+ 6. Stereotype Depression-Vorstellung: Wird angenommen, alle Depressiven sind müde/traurig/isoliert?
413
+ 7. Rationale Einordnung statt Empfinden: Wird das Gefühl rationalisiert? ("Das ist doch eine gute Note")
414
+
415
+ SPEZIELLE GESPRÄCHSQUALITÄT:
416
+ 8. Beispielhafte Gesprächsführung: Entspricht die Nachricht den Beispielsätzen?
417
+ - "Mir ist aufgefallen, dass..."
418
+ - "Was können wir gemeinsam tun..."
419
+ - "Ich habe verstanden, dass..."
420
+ - "Gibt es etwas, das ich für dich tun kann?"
421
+ - "Mir ist wichtig, dass es dir gut geht"
422
 
423
  Antworte EXAKT in folgendem JSON-Format (keine zusätzlichen Erklärungen):
424
  {{
425
+ "positive": ["Liste der zutreffenden DOS"],
426
+ "improvement": ["Liste der zutreffenden DONT'S"],
427
+ "score_explanation": "Kurze professionelle Begründung der Bewertung"
428
  }}"""
429
 
430
  try:
 
470
  positive = []
471
  improvement = []
472
 
473
+ # Erweiterte Heuristiken basierend auf Beispielsätzen
474
+ if any(phrase in user_message.lower() for phrase in ["mir ist aufgefallen", "ist mir aufgefallen"]):
475
+ positive.append("Wahrnehmung ansprechen")
476
  score += 1
477
 
478
+ if any(phrase in user_message.lower() for phrase in ["was können wir", "gemeinsam tun", "zusammen"]):
479
+ positive.append("Konkrete Unterstützung anbieten")
480
  score += 1
481
 
482
+ if any(phrase in user_message.lower() for phrase in ["wichtig dass", "mir ist wichtig"]):
483
+ positive.append("Ehrliche Sorge/Interesse kommunizieren")
484
+ score += 1
485
+
486
+ if any(phrase in user_message.lower() for phrase in ["gibt es etwas", "kann ich", "für dich tun"]):
487
+ positive.append("Konkrete Unterstützung anbieten")
488
+ score += 1
489
+
490
+ if any(phrase in user_message.lower() for phrase in ["verstanden dass", "ich habe verstanden"]):
491
+ positive.append("Validierungsstrategien anwenden")
492
+ score += 1
493
+
494
+ # Negative Muster
495
+ if any(phrase in user_message.lower() for phrase in ["wird schon", "das wird schon wieder"]):
496
+ improvement.append("Einfache/verharmlosende Ratschläge")
497
  score -= 1
498
 
499
+ if any(phrase in user_message.lower() for phrase in ["jedem geht", "allen geht es mal"]):
500
+ improvement.append("Herunterspielen/mit eigenen Erlebnissen vergleichen")
501
+ score -= 1
502
+
503
+ if any(phrase in user_message.lower() for phrase in ["ist doch", "eigentlich", "doch eine gute"]):
504
+ improvement.append("Rationale Einordnung statt Empfinden")
505
  score -= 1
506
 
507
  return {
 
586
  feedback += "## KOMPETENZPROFIL - PROFESSIONELLE STÄRKEN\n\n"
587
 
588
  professional_descriptions = {
589
+ "Ehrliche Sorge/Interesse kommunizieren": "Authentische empathische Grundhaltung - echte Anteilnahme zeigen",
590
+ "Wahrnehmung ansprechen": "Strukturierte Beobachtungsrückmeldung - 'Mir ist aufgefallen...'",
591
+ "Gespräch kontinuierlich suchen": "Beständige Beziehungsarbeit - 'Steter Tropfen höhlt den Stein'",
592
+ "Konkrete Unterstützung anbieten": "Spezifische Hilfsangebote - 'Was können wir gemeinsam tun...'",
593
+ "Zuhören/ungeteilt aufmerksam sein": "Fokussierte, ungeteilte Aufmerksamkeit und aktives Zuhören",
594
+ "An Früheres erinnern/nachfragen": "Kontinuität durch Bezug zu vorherigen Gesprächen",
595
+ "Nicht wertend auftreten": "Moralisierungsfreie, professionelle Haltung",
596
+ "Gesprächsfortschritte bilanzieren": "Zusammenfassung und Würdigung von Entwicklungen",
597
+ "Validierungsstrategien anwenden": "Reflektieren, Verbalisieren, Empfinden ernst nehmen",
598
+ "Positive Eigenschaften aufzeigen": "Stärkenorientierte Kommunikation - konkrete Beispiele benennen"
599
  }
600
 
601
  for skill, count in positive_counts.most_common():
 
608
  feedback += "## ENTWICKLUNGSBEREICHE\n\n"
609
 
610
  professional_recommendations = {
611
+ "Herunterspielen/mit eigenen Erlebnissen vergleichen": "**Empfehlung:** Vermeidung von Bagatellisierung und Vergleichen - Depression ernst nehmen, nicht mit 'Jedem geht es mal schlecht' relativieren",
612
+ "Einfache/verharmlosende Ratschläge": "**Empfehlung:** Statt oberflächlicher Ratschläge ('Das wird schon wieder') - Empfinden validieren und gemeinsam Lösungen entwickeln",
613
+ "Im Alleingang agieren": "**Empfehlung:** Kollegiale Beratung suchen - Beobachtungen mit Team teilen, nicht isoliert handeln",
614
+ "Ausweichende Antworten persönlich nehmen": "**Empfehlung:** Professionelle Distanz wahren - Abweisung als Teil der Symptomatik verstehen, nicht als persönlichen Angriff",
615
+ "Sofort mit schulischer Leistung verbinden": "**Empfehlung:** Ganzheitliche Sichtweise - Verhalten nicht sofort auf Noten/Leistung reduzieren, Person im Fokus behalten",
616
+ "Stereotype Depression-Vorstellung": "**Empfehlung:** Differenzierte Wahrnehmung - Auch erfolgreiche Schüler*innen mit guten Noten können betroffen sein",
617
+ "Rationale Einordnung statt Empfinden": "**Empfehlung:** Empfinden ernst nehmen - Nicht rationalisieren ('Das ist doch eine gute Note'), sondern Gefühle validieren"
618
  }
619
 
620
  for issue, count in improvement_counts.most_common():
 
680
  - **Schulische Unterstützungssysteme** zielgerichtet einsetzen
681
  - **Pädagogische Beziehungsarbeit** bei psychischen Belastungen stärken
682
  """)
683
+
684
+ with gr.Accordion("📋 Realistische Fallbeispiele aus der Praxis", open=False):
685
+ gr.Markdown("""
686
+ **Julia (16) - Strebsame Schülerin:**
687
+ - Sehr strebsam, ordentlich, diszipliniert
688
+ - Verzweifelt bei Note 2+ ("Nirgendwo bin ich wirklich gut")
689
+ - Enormer Leistungsdruck auffällig
690
+ - Ausgrenzungserfahrungen ("Streberin" genannt)
691
+ - Krisensituation nach Referat (weint, versteht Welt nicht mehr)
692
+ - Elterngespräch macht Schwere deutlich
693
+ - Suizidgedanken entwickelt
694
+ - Stationäre Aufnahme 4-6 Wochen
695
+ - Medikamentöse Einstellung (Antidepressiva)
696
+ - Ambulante Weiterbehandlung
697
+
698
+ **Rachid - Familiär belastet:**
699
+ - Veränderung in mündlicher Beteiligung auffällig
700
+ - Berichtet von Schlafproblemen
701
+ - Nach und nach: Berichte von Familienstreit
702
+ - Große Belastung durch familiäre Situation
703
+ - Beratungsstelle → Diagnose Depression
704
+ - Wöchentliche ambulante Gesprächstherapie
705
+ - Familie wird in Behandlung einbezogen (Familientherapie)
706
+
707
+ *Beide zeigen: Depression manifestiert sich sehr unterschiedlich. Julia bleibt aktiv, geht es aber sehr schlecht. Behandlungswege können stark variieren.*
708
+ """)
709
+
710
+ with gr.Accordion("⚙️ Simulation anpassen", open=False):
711
+ character_type = gr.Radio(
712
+ choices=[
713
+ "Standard",
714
+ "Julia (16) - Strebsame Schülerin",
715
+ "Rachid - Familiär belastet"
716
+ ],
717
+ value="Standard",
718
+ label="Charakter-Profil wählen",
719
+ info="Verschiedene realistische Fallbeispiele aus der Praxis"
720
+ )
721
 
722
  with gr.Row():
723
  with gr.Column(scale=1):
 
772
  # Event Bindings
773
  send_btn.click(
774
  fn=enhanced_chat_response,
775
+ inputs=[user_input, max_tokens, temperature, top_p, use_enhanced_info, character_type],
776
  outputs=[user_input, bot_response, chat_history]
777
  )
778
 
779
  user_input.submit(
780
  fn=enhanced_chat_response,
781
+ inputs=[user_input, max_tokens, temperature, top_p, use_enhanced_info, character_type],
782
  outputs=[user_input, bot_response, chat_history]
783
  )
784