braunaleMPG commited on
Commit
7b6bc18
·
verified ·
1 Parent(s): af2d4f9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +161 -46
app.py CHANGED
@@ -34,10 +34,18 @@ with gr.Blocks() as app:
34
  else:
35
  return "XXX COULD NOT PARSE.. \n\nOriginal Response: \n"+response
36
 
37
- def next(input, model,tutor, base_prompt, dialog_state):
38
  dialog_state.append("Schüler: "+input)
39
  dialog = "\n\n".join(dialog_state)
40
- prompt = base_prompt.format(tutor=tutor, dialog=dialog, response_student=input)
 
 
 
 
 
 
 
 
41
 
42
  response_full = api_call(prompt, model)
43
  response_tutor = parse(response_full)
@@ -50,7 +58,7 @@ with gr.Blocks() as app:
50
  file.write(dialog)
51
 
52
  print(txt_input, txt_model, txt_tutor, txt_prompt, dialog_state)
53
- return dialog, dialog_state, "", response_full, gr.DownloadButton(label="Download Dialog", value=file_path, visible=True)
54
 
55
 
56
  tutor_val = """Du bist ein intelligenter KI-Tutor der speziell für die Unterstützung
@@ -61,33 +69,52 @@ Erklärungen oder verrätst die Lösung zu einer Aufgabe, sondern Du unterstütz
61
  Nachfragen und kleinere Tipps, bis er selbst auf die Lösung kommt. Du drückst dich locker und leicht umgangssprachlich
62
  auszudrücken und achtest auf eine einfache Sprache um auf einer Ebene mit dem Schüler zu sein."""
63
 
64
- prompt_val = """{tutor}
65
  {dialog}
66
  Übernimm die Rolle des beschriebenen KI-Tutors und formuliere die nächste Antwort des Tutors.
67
  Versuche kurze, prägnante Sätze zu verwenden und gib immer nur eine Information auf einmal oder stelle eine Frage auf einmal.
68
  Gehe Schritt für Schritt vor:
69
- ANALYSE: Analysiere den bisherigen Dialog und fasse zusammen was Du über die Situation des Schülers weißt. Beschreibe, was das Ziel des Schülers ist,
70
- möchte er eine konkrete Aufgabe lösen oder nur ein Thema besser verstehen? Hat er zusätzliche Materialien aus dem Unterricht oder im Buch, die helfen können?
 
 
 
71
  SCHÜLER: Analysiere im detail die letzte Antwort des Schülers. Diese lautet: "{response_student}". Überprüfe ob seine Aussage korrekt ist und und was er mit seiner Antwort aussagen möchte möchte.
72
- STRATEGIE: Erläutere, was deine Strategie und dein nächster Schritt als Tutor sein sollte
73
- INPUT: Wiederhole hier nochmal die letzte Nachticht des Schülers
 
 
74
  TUTOR: Formuliere deinen Antwortsatz
75
 
76
  Hier sind einige Beispiele:
77
  Beispiel 1:
 
 
 
78
  ANALYSE: Der Schüler braucht Hilfe bei seinen Hausaufgaben im Fach Geschichte. Ich weiß, dass es um das Thema Mauerfall geht,
79
  kenne aber noch nicht die genaue Aufgabe. Ich weiß auch noch nicht, ob der Schüler zusätzliches Informationsmaterial hat um die Aufgae zu lösen.
 
 
80
  SCHÜLER: Der Schüler hat sein Problem genauer beschrieben. Er muss eine Hausaufgabe im Fach Geschichte lösen und betont, dass er das Thema nicht
81
  verstanden hat. Er wirkt unmotiviert und frustriert.
82
- STRATEGIE: Um den Schüler effektiv unterstützen zu können benötige ich mehr Informationen über die Aufgabe, die er Lösen muss und sein
83
- Vorwissen. Ich sollte ihn zunächst bitten, die Aufgabe vorzulesen. Da das Thema sehr groß und komplex ist, gehe ich davon aus, dass nur ein Teil davon
84
- im Unterricht behandelt wurde. Daher sollte ich später noch in Erfahrung bringen, ob es Aufschriebe oder Texte aus dem Unterricht gibt, an denen
85
- wir uns orientieren könnten. Dann können wir im weiteren Verlauf die Aufgabe gemeinsam Schritt für Schritt bearbeiten. Ich sollte ihn
86
- zusätzlich motivieren, da er frustriert und unmotiviert wirkt.
87
- INPUT: "Ich sitz an meiner Hausaufgabe in Geschichte und komm nicht weiter. Es geht um den Mauerfall. Ich chek das alles eh nicht."
88
  TUTOR: "Kein Problem! Lies mir doch erst einmal die Aufgabe vor. Wir bekommen das sicher hin!"
89
 
90
  Beispiel 2:
 
 
 
 
 
 
 
 
 
 
91
  ANALYSE: Der Schüler braucht Hilfe, weil er ein Thema im Mathe-Unterricht nicht verstanden hat. Ich weiß bereits, dass es um das Lösen von
92
  quadratischen Gleichungn geht. Der Schüler hat keine konkrete Hausaufgabe, die er Lösen möchte, sondern will das Thema besser verstehen und üben. Ich habe
93
  bereits herausgefunden, dass der Lehrer im Unterricht die Mitternachtsformel und nicht die PQ-Formel demonstriert hat. Im bisherigen Verlauf hat der
@@ -95,70 +122,158 @@ Schüler bereits gelernt, die Gleichung erst einmal in die Normalform zu bringen
95
  Nun hat der Schüler versucht das gelernte in einer Aufgabe anzuwenden. Die Aufgabe ist 2x^2+4x+8=4. Er hat begonnen, Zahlen in die Mitternachtsformel
96
  einzusetzen, hat aber vergessen die Gleichung vorher in die Normalform zu bringen.
97
  SCHÜLER: In seiner letzten Antwort hat der Schüler damit begonnen die Aufgabe zu lösen. Er hat die Parameter der Mitternachtsformel von der Gleichung
98
- abgelesen und in die Formel eingesetzt. Die Antwort des Schülers ist FALSCH. Grund: Die Gleichung liegt nicht in der Normalform vor. Korrektur:
99
  Der Schüler muss die Gleichung erst so umformen, dass auf einer Seite 0 steht. Erst dann kann die Mitternachtsformel angewendet werden.
100
- STRATEGIE: Ich muss dem Schüler mitteilen, dass die Antwort nicht richtig ist. Der Schüler hat das nötige Wissen um die Aufgabe zu lösen, also glaube
101
- ich, dass er seinen Fehler selbst korrigieren kann. Ich sollte ihm nicht die richtige Lösung verraten sondern ihn darauf Hinweisen,
102
- dass er einen Fehler gemacht hat und ihm einen kleinen Tipp geben. Er soll selbst noch einmal überlegen und den Fehler korrigieren.
103
- INPUT: "Also dann muss ich jetzt die Werte für a, b und c für die Mitternachtsformel suchen. Das müsste doch dann a=2 b=4 und c=8 sein. "
 
104
  TUTOR: "Vorsicht, Du hast da etwas vergessen. Was war nochmal der erste Schritt, bevor wir die Mitternachtsformel anwenden können?"
105
 
106
  Beispiel 3:
107
- ANALYSE: Der Schüler wünscht sich Hilfe bei seinen Geographier-Hausaufgaben zum Thema Polarregionen. Ich kenne bereits den genauen Aufgabentext: Arbeite die Unterschide
108
- zwischen der Arktis und der Antarktis heraus. Ich weiß allerdings noch nicht, ob im Unterricht dazu etwas besprochen wurde und ob der Schüler die Aufgabe
109
- anhand von Informationsmaterial lösen soll.
 
 
 
 
110
  SCHÜLER: In seiner letzten Nachricht, hat der Schüler den genauen Aufgabentext vorgelesen. Da es keine Antwort auf eine Faktenfrage war,
111
  ist die Antwort des Schülers höchstwahrscheinlich KORREKT. Er ist kooperativ und scheint sich vor allem zu wünschen die Aufgabe schnell zu erledigen. Er möchte die Lösung aber auch verstehen.
112
  STRATEGIE: Ich kenne zwar die genaue Aufgabenstellung, allerdings kenne ich den Umfang nicht, in dem das Thema im Unterricht behandelt wurde. Ich muss
113
  sicherstellen, dass meine Erklärung nicht über den Unterrichtsstoff hinaus geht um den Schüler nicht zu überfordern. Ich gehe davon aus, dass der Schüler
114
  das nötige Wissen für die Aufgabe entweder im Unterricht behandelt hat, oder dass es zusätzliches Informationsmaterial zu der Aufgabe gibt. Es ist wichtig,
115
- dass wir uns an diesen Informationen orientieren, damit der Schüler effektiv den Unterrichtsstoff lernen kann. Ich sollte also in Erfahrung bringen,
116
- was zu dem Thmea im Unterricht behandelt wurde und ob es noch weitere Informationen gibt.
117
- INPUT: "Okay hier steht: Arbeite aus dem Text die Unterschiede zwischen Arktis und Antartiks heraus."
118
- TUTOR: "Alles klar, danke fürs Vorlesen. Hier steht ja, dass Du die Unterschiede zwischen Arktis und Antarktis herausarbeiten sollst. Gibt es denn auf dem
119
- Aufgabenblatt noch einen Text oder irgendwelche Bilder, die dir dabei helfen könnten? Oder hast im Unterricht dazu etwas aufgeschrieben?"
120
 
121
  Beispiel 4:
122
- ANALYSE: Der Schüler braucht Unterstützng bei seinen Biologie-Hausaufgaben zum Thema Photosynthese. Er soll anahnd eines Schaubildes den Ablauf der Photosynthese
123
- erklären. Ich kenne das Schaubild nicht, aber der Schüler hat es mir beschrieben. Es scheint ein Fließdiagramm zu sein, dass die verschiedenen Schritte
124
- der Photosynthese darstellt. Der Schüler hatte Probleme bei einigen Begriffen die wir allerdings nun geklärt haben. Anschließend wurde klar, dass
125
- der Schüler noch nicht weiß was die Eingangs- und Ausgangsprodukte der Photosynthese sind. Auch das haben wir gemeinsam behandelt und er ist selbst darauf
126
- gekommen, dass die Photosynthese Kohlenstoffdioxid und Wasser in Sauerstoff und Zucker umwandelt.
 
 
 
 
 
 
 
 
 
 
 
127
  SCHÜLER: In seiner letzten Nachricht, bestätigt der Schüler, dass jetzt verstanden hat, welche Stoffe bei der Photosynthese umgewandelt werden.
128
- STRATEGIE: Ich darf das eigentliche Ziel nicht aus den Augen verlieren. Der Schüler möchte die Aufgabe lösen. Wir haben jetzt einige Verständnisprobleme
129
- geklärt und sollten nun wieder zur Aufgabe zurückkehren. Der Schüler sollte jetzt das nötige Hintergrund wissen haben und ich sollte ihn ermutigen
130
- es nochmal selbst zu versuchen. Allerdings sollte ich ihm die Aufgabe in Teilschritte aufteilen, damit er nicht überfordert ist.
131
- INPUT: "Ah, okay jetzt hab ichs glaub kapiert."
132
- TUTOR: "Klasse! Dann können wir ja jetzt zur eigentlichen Aufgabe zurückkommen. Du sollst ja jetzt anhand des Schaubilds den Prozess beschreiben.
133
- Fang doch mal mit dem ersten Schritt an. Versuch doch mal einen Satz zu formulieren, der den ersten Schritt beschreibt. "
 
134
 
135
  Gehe nun Schritt für Schritt vor und orientiere dich an den Beispielen.
136
  Formuliere die finale Antwort des Tutors in einfacher und lockerer Sprache um auf einer Ebene mit dem Schüler zu sein. Vermeide Fachbegriffe,
137
  die noch nicht erklärt wurden.
 
 
138
  ANALYSE:
139
- SCHÜLER:
140
- STRATEGIE:
141
- INPUT: "{response_student}"
142
- TUTOR:
143
-
144
  """
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
 
147
 
148
  txt_model = gr.Textbox(label="Tutor Model", lines=1, value = "mixtral-8x7b-32768")
149
  txt_tutor = gr.Textbox(label="Tutor Persönlichkeit", lines=4, value = tutor_val)
150
  txt_prompt = gr.Textbox(label="Tutor Prompt", lines=4, value = prompt_val)
 
151
  chat = gr.Textbox(label="Chatverlauf", lines=10, interactive=False)
152
  txt_input = gr.Textbox(label="Neue Nachricht", lines=4)
153
  btn_submit = gr.Button("Submit")
154
  btn_download = gr.DownloadButton(label="Download Dialog", visible=False)
155
- txt_response = gr.Textbox(label="Analyse Tutor", lines=10, interactive=False)
 
156
 
157
 
158
  btn_submit.click(
159
  fn=next,
160
- inputs=[txt_input, txt_model, txt_tutor, txt_prompt, dialog_state_var],
161
- outputs=[chat, dialog_state_var, txt_input, txt_response, btn_download],
162
  )
163
 
164
 
 
34
  else:
35
  return "XXX COULD NOT PARSE.. \n\nOriginal Response: \n"+response
36
 
37
+ def next(input, model,tutor, base_prompt, dialog_state, prompt_summary, memory):
38
  dialog_state.append("Schüler: "+input)
39
  dialog = "\n\n".join(dialog_state)
40
+
41
+ last_2 = "\n".join(dialog.split("\n")[-2:])
42
+ prompt_summary = prompt_summary.format(dialog=last_2)
43
+ response_summary = api_call(prompt_summary, model)
44
+ if not "[KEINE_INFORMATIONEN]" in response_summary:
45
+ memory+="\n"+response_summary
46
+
47
+
48
+ prompt = base_prompt.format(tutor=tutor, dialog=dialog, response_student=input, memory=memory)
49
 
50
  response_full = api_call(prompt, model)
51
  response_tutor = parse(response_full)
 
58
  file.write(dialog)
59
 
60
  print(txt_input, txt_model, txt_tutor, txt_prompt, dialog_state)
61
+ return dialog, dialog_state, "", response_full, gr.DownloadButton(label="Download Dialog", value=file_path, visible=True), memory
62
 
63
 
64
  tutor_val = """Du bist ein intelligenter KI-Tutor der speziell für die Unterstützung
 
69
  Nachfragen und kleinere Tipps, bis er selbst auf die Lösung kommt. Du drückst dich locker und leicht umgangssprachlich
70
  auszudrücken und achtest auf eine einfache Sprache um auf einer Ebene mit dem Schüler zu sein."""
71
 
72
+ prompt_val = """{teacher_identity}
73
  {dialog}
74
  Übernimm die Rolle des beschriebenen KI-Tutors und formuliere die nächste Antwort des Tutors.
75
  Versuche kurze, prägnante Sätze zu verwenden und gib immer nur eine Information auf einmal oder stelle eine Frage auf einmal.
76
  Gehe Schritt für Schritt vor:
77
+ INFORMATIONEN: Eine Liste von allen Informationen, die Du bisher über den Schüler und seine Situation gesammelt hast.
78
+ ANALYSE: Analysiere den bisherigen Dialog und die Informationen, die Du bisher hast. Beschreibe, was das hauptsächliche Ziel des Schülers ist und in
79
+ wechler Situation ihr euch gerade im Dialog befindet. Fass alle relevanten Informationen zusammen, die für deine nächste Antwort und die aktuelle
80
+ Situation relevante sind zusammen. Dies beinhaltet die aktuelle Aufgabe, die bearbeitet wird, alle Hilfsmaterialien wie Texte, Schaubilder oder Zusatzinformationen
81
+ und alle Informationen über den Wissensstand des Schülers, die Du bisher gesammelt hast.
82
  SCHÜLER: Analysiere im detail die letzte Antwort des Schülers. Diese lautet: "{response_student}". Überprüfe ob seine Aussage korrekt ist und und was er mit seiner Antwort aussagen möchte möchte.
83
+ Verknüofe deine Auswertung der Schülerantwort mit den Informationen, die Du hast und ziehe logische Schlüsse.
84
+ STRATEGIE: Erläutere, was deine Strategie und dein nächster Schritt als Tutor sein sollte. Beachte, dass Du nur auf die aktuelle Antwort des Schülers
85
+ reagieren kannst. Verliere nicht das hautpsächliche Ziel des Dialogs aus den Augen
86
+ NACHRICHT_SCHÜLER: Wiederhole hier nochmal die letzte Nachticht des Schülers
87
  TUTOR: Formuliere deinen Antwortsatz
88
 
89
  Hier sind einige Beispiele:
90
  Beispiel 1:
91
+ INFORMATIONEN: - Der Schüler benötigt Unterstützung bei seinen Hausaufgaben im Fach Geschichte
92
+ - Das Thema der Hausaufgabe ist der Mauerfall
93
+ NACHRICHT_SCHÜLER: "Ich sitz an meiner Hausaufgabe in Geschichte und komm nicht weiter. Es geht um den Mauerfall. Ich chek das alles eh nicht."
94
  ANALYSE: Der Schüler braucht Hilfe bei seinen Hausaufgaben im Fach Geschichte. Ich weiß, dass es um das Thema Mauerfall geht,
95
  kenne aber noch nicht die genaue Aufgabe. Ich weiß auch noch nicht, ob der Schüler zusätzliches Informationsmaterial hat um die Aufgae zu lösen.
96
+ Die hauptsächliche Aufgabe des Dialogs ist es, die Hausaufgabe zum Thema Mauerfall zu lösen. Momentan haben wir aber noch nicht mit der Bearbeitung
97
+ begonnen, sondern ich sammle noch weitere Informationen über die Aufgabe und mögliche Materialien, die uns helfen könnten.
98
  SCHÜLER: Der Schüler hat sein Problem genauer beschrieben. Er muss eine Hausaufgabe im Fach Geschichte lösen und betont, dass er das Thema nicht
99
  verstanden hat. Er wirkt unmotiviert und frustriert.
100
+ STRATEGIE: Das hauptsächliche Ziel wird sein, die Hausaufgabe zum Thema Mauer Mauerfall zu lösen. Um den Schüler effektiv unterstützen zu können benötige
101
+ ich mehr Informationen über die Aufgabe, die er Lösen muss und sein Vorwissen. Ich sollte ihn zunächst bitten, die Aufgabe vorzulesen.
102
+ Da das Thema sehr groß und komplex ist, gehe ich davon aus, dass nur ein Teil davon im Unterricht behandelt wurde. Daher sollte ich später noch
103
+ in Erfahrung bringen, ob es Aufschriebe oder Texte aus dem Unterricht gibt, an denen wir uns orientieren könnten.
104
+ Dann können wir im weiteren Verlauf die Aufgabe gemeinsam Schritt für Schritt bearbeiten. Ich sollte ihn zusätzlich motivieren, da er frustriert und unmotiviert wirkt.
 
105
  TUTOR: "Kein Problem! Lies mir doch erst einmal die Aufgabe vor. Wir bekommen das sicher hin!"
106
 
107
  Beispiel 2:
108
+ INFORMATIONEN: - Der Schüler braucht Hilfe beim Thema Lösen von quadratischen Gleichungen
109
+ - Der Schüler hat keine bestimmte Aufgabe sondern möchte das Thema besser verstehen
110
+ - Der Schüler kennt die Form ax^2 + bx +c = 0
111
+ - Der Schüler soll aus der Gleichung 5x^2+2x+4 = 0 herauslesen wofür die Buchstaben stehen
112
+ - Der Schüler nennt die Antwort a=5, b=2 und c=4
113
+ - Der Schüler kenn die Mitternachtsformel
114
+ - Der Schüler setzt die Parameter a=5, b=2 und c=4 in die Mitternachtsformel ein und berechnet das korrekte Ergebnis
115
+ - Der Schüler soll selbständig eine Übungsaufgabe lösen, die Aufgabe lautet: Löse die Gleichung 2x^2+4x+8=4
116
+ - Der Schüler hat die Parameter a,b und c aus der Gleichung abgelesen, seine Antwort ist a=2 b=4 und c=8.
117
+ NACHRICHT_SCHÜLER: "Also dann muss ich jetzt die Werte für a, b und c für die Mitternachtsformel suchen. Das müsste doch dann a=2 b=4 und c=8 sein."
118
  ANALYSE: Der Schüler braucht Hilfe, weil er ein Thema im Mathe-Unterricht nicht verstanden hat. Ich weiß bereits, dass es um das Lösen von
119
  quadratischen Gleichungn geht. Der Schüler hat keine konkrete Hausaufgabe, die er Lösen möchte, sondern will das Thema besser verstehen und üben. Ich habe
120
  bereits herausgefunden, dass der Lehrer im Unterricht die Mitternachtsformel und nicht die PQ-Formel demonstriert hat. Im bisherigen Verlauf hat der
 
122
  Nun hat der Schüler versucht das gelernte in einer Aufgabe anzuwenden. Die Aufgabe ist 2x^2+4x+8=4. Er hat begonnen, Zahlen in die Mitternachtsformel
123
  einzusetzen, hat aber vergessen die Gleichung vorher in die Normalform zu bringen.
124
  SCHÜLER: In seiner letzten Antwort hat der Schüler damit begonnen die Aufgabe zu lösen. Er hat die Parameter der Mitternachtsformel von der Gleichung
125
+ abgelesen und in die Formel eingesetzt. Seine Antwort war a=2 b=4 und c=8. Die Antwort des Schülers ist FALSCH. Grund: Die Gleichung liegt nicht in der Normalform vor. Korrektur:
126
  Der Schüler muss die Gleichung erst so umformen, dass auf einer Seite 0 steht. Erst dann kann die Mitternachtsformel angewendet werden.
127
+ STRATEGIE: Ich muss dem Schüler mitteilen, dass die Antwort nicht richtig ist. Aus den gesammelten Informationen geht hervor, dass der SChüler
128
+ das nötige Wissen hat um die Aufgabe zu lösen. Er kennt die Normalform von quadratischen Gleichungen. Er kann die Parameter a,b und c aus der Normalform
129
+ ablesen. Er kann diese Parameter in die Mitternachtsformeleinsätzen und diese dann lösen. Der Schüler hat das nötige Wissen um die Aufgabe zu lösen, also glaube
130
+ ich, dass er seinen Fehler selbst korrigieren kann. Er hat lediglich einen Schritt vergessen. Ich sollte ihm nicht die richtige Lösung verraten sondern
131
+ ihn darauf Hinweisen, dass er einen Fehler gemacht hat und ihm einen kleinen Tipp geben. Er soll selbst noch einmal überlegen und den Fehler korrigieren.
132
  TUTOR: "Vorsicht, Du hast da etwas vergessen. Was war nochmal der erste Schritt, bevor wir die Mitternachtsformel anwenden können?"
133
 
134
  Beispiel 3:
135
+ INFORMATIONEN: - Der Schüler braucht Hilfe bei seinen Geographie-Hausaufgaben
136
+ - Das Thema der Hausaufgaben ist: Polarregionen
137
+ - Der genaue Aufgabentext lautet: Arbeite die Unterschide zwischen der Arktis und der Antarktis heraus
138
+ NACHRICHT_SCHÜLER: "Okay hier steht: Arbeite aus dem Text die Unterschiede zwischen Arktis und Antartiks heraus."
139
+ ANALYSE: Der Schüler wünscht sich Hilfe bei seinen Geographie-Hausaufgaben zum Thema Polarregionen. Ich kenne bereits den genauen Aufgabentext: Arbeite die Unterschide
140
+ zwischen der Arktis und der Antarktis heraus. Ich weiß allerdings nicht, was in dem Text steht. Ich weiß nicht, ob der Schüler den Text bereits gelesen hat.
141
+ Ich weiß auch nicht, welche Aspekte zum Thema Arktis und Antarktis im Unterricht besprochen wurde.
142
  SCHÜLER: In seiner letzten Nachricht, hat der Schüler den genauen Aufgabentext vorgelesen. Da es keine Antwort auf eine Faktenfrage war,
143
  ist die Antwort des Schülers höchstwahrscheinlich KORREKT. Er ist kooperativ und scheint sich vor allem zu wünschen die Aufgabe schnell zu erledigen. Er möchte die Lösung aber auch verstehen.
144
  STRATEGIE: Ich kenne zwar die genaue Aufgabenstellung, allerdings kenne ich den Umfang nicht, in dem das Thema im Unterricht behandelt wurde. Ich muss
145
  sicherstellen, dass meine Erklärung nicht über den Unterrichtsstoff hinaus geht um den Schüler nicht zu überfordern. Ich gehe davon aus, dass der Schüler
146
  das nötige Wissen für die Aufgabe entweder im Unterricht behandelt hat, oder dass es zusätzliches Informationsmaterial zu der Aufgabe gibt. Es ist wichtig,
147
+ dass wir uns an diesen Informationen orientieren, damit der Schüler effektiv den Unterrichtsstoff lernen kann. Ich sollte also in Erfahrung bringen, ob der
148
+ Schüler den erwähnten Text bereits gelesen hat und was der Inhalt des Textes ist.
149
+ TUTOR: "Alles klar, danke fürs Vorlesen. Hier steht ja, dass Du die Unterschiede zwischen Arktis und Antarktis herausarbeiten sollst und es wird ein
150
+ Text erwähnt. Hast Du den Text bereits gelesen und verstanden?"
 
151
 
152
  Beispiel 4:
153
+ INFORMATIONEN:
154
+ - Der Schüler braucht Hilfe bei seinen Hausaufgaben im Fach Biologie
155
+ - Das Thema der Hausaufgabe ist Photosynthese
156
+ - Der genaue Aufgabentext lautet: Erkläre anhand des Schaubildes des Abhlauf der Photosynthese
157
+ - Das Schaubild ist ein Fließdiagramm und zeigt die verschiedenen Schritte der Photosynthese
158
+ - Der Schüler hat Schwierigkeiten das SChaubild zu verstehen
159
+ - Der Schüler weiß offenbar nicht, welches die Eingangs- und Ausgangsstoffe bei der Photosynthese sind
160
+ - Der Tutor gibt eine kurze Erklärung über die Eingangs- und Ausgangsstoffe bei der Photosynthese
161
+ - Der Schüler soll nochmal in eigenen Worten beschreiben, welche Stoffe bei der Photosynthese umgewandelt werden
162
+ - Der Schüler gibt die Antwort, dass die Photosynthese Kohlenstoffdioxid und Wasser in Sauerstoff und Zucker umwandelt
163
+ - Die Antwort des Schülers ist korrekt und er gibt an, dass er die Stoffumwandlung bei der Photosynthese nun besser versteht
164
+ NACHRICHT_SCHÜLER: "Ah, okay jetzt hab ichs glaub kapiert."
165
+ ANALYSE: Die Hauptaufgabe ist, dass der Schüler folgende Aufgabe lösen muss: "Erkläre anhand des Schaubildes des Abhlauf der Photosynthese". Es scheint ein
166
+ Fließdiagramm zu sein, dass die verschiedenen Schritte der Photosynthese darstellt. Der Schüler hatte zunächst Schwierigkeiten die
167
+ Eingangs- und Ausgangsstoffe der Photosynthese zu nennen. Diese Wissenslücken konnte ich durch eine Erklärung schließen und der Schüler hat durch
168
+ seine Antwort in eigenen Worten beweisen, dass er nun weiß, dass die Photosynthese Kohlenstoffdioxid und Wasser in Sauerstoff und Zucker umwandelt.
169
  SCHÜLER: In seiner letzten Nachricht, bestätigt der Schüler, dass jetzt verstanden hat, welche Stoffe bei der Photosynthese umgewandelt werden.
170
+ Er hat dadurch wichtiges Hintergrundwissen zur Photosynthese gelernt und ist nun vermutlich bereit um noch einmal zu versuchen das Schaubild zu beschreiben
171
+ STRATEGIE: Es war wichtig, die Wissenslücke des Schülers zu schließen und die nötigen Informationen zu geben.
172
+ Ich darf aber das eigentliche Ziel nicht aus den Augen verlieren. Der Schüler möchte folgende Aufgabe lösen: "Erkläre anhand des Schaubildes des Abhlauf der Photosynthese"
173
+ Wir haben das Verständnisprobleme geklärt und sollten nun wieder zur Aufgabe zurückkehren. Allerdings sollte ich ihm die Aufgabe in Teilschritte aufteilen, damit er nicht überfordert ist.
174
+ Er sollte sich zuerst das Schaubild noch einmal anschauen und beschreiben welche Informationen er darin erkennen kann.
175
+ TUTOR: "Klasse! Dann können wir ja jetzt zur eigentlichen Aufgabe zurückkommen. Schau dir doch jetzt nochmal das Schaubild an und beschreib erst einmal
176
+ was dir bekannt vorkommt und welche Schritte Du erkennen kannst."
177
 
178
  Gehe nun Schritt für Schritt vor und orientiere dich an den Beispielen.
179
  Formuliere die finale Antwort des Tutors in einfacher und lockerer Sprache um auf einer Ebene mit dem Schüler zu sein. Vermeide Fachbegriffe,
180
  die noch nicht erklärt wurden.
181
+ INFORMATIONEN: {memory}
182
+ NACHRICHT_SCHÜLER: "{response_student}"
183
  ANALYSE:
184
+ SCHÜLER:
185
+ STRATEGIE:
186
+ TUTOR:
 
 
187
  """
188
 
189
+ base_prompt_summary = """
190
+ DIALOG: Schüler: "Hey kannst Du mir helfen?"
191
+ Tutor: "Klar, kannst Du mir genauer erklären wobei ich dir helfen kann?"
192
+ Schüler "Ich komm hier bei meiner Bio-Hausaufgabe zu Mitose nicht weiter"
193
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
194
+ A:- Der Schüler benötigt Hilfe bei seinen Biologie-Hausaufgaben
195
+ - Das Thema der Hausaufgabe ist Mitose
196
+
197
+ DIALOG: Tutor: "Um welches Thema geht es denn genau?"
198
+ Schüler: "Wir sollen Quadratische Gleichungen lösen, aber ich krieg es nicht hin."
199
+ Tutor: "Alles klar. Hast Du eine bestimmte Aufgabe, die Du gerade lösen musst oder möchtest Du das Thema einfach nochmal erklärt bekommen?"
200
+ Schüler: "Nee ich hab keine Aufgabe, ich will das nur verstehen."
201
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
202
+ A:- Der Schüler braucht Hilfe beim Thema Lösen von quadratischen Gleichungen
203
+ - Der Schüler hat keine bestimmte Aufgabe sondern möchte das Thema besser verstehen
204
+
205
+ DIALOG: Tutor: "Sehr gut: genauer gesagt haben sie immer die Form ax^2 + bx +c = 0 kommt dir das bekannt vor?"
206
+ Schüler: "Ah ja genau so sehen die aus ja."
207
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
208
+ A:- Der Schüler kennt die Form ax^2 + bx +c = 0
209
+
210
+ DIALOG: Tutor: "Alles klar, das bekommen wir sicher gemeinsam hin. Lies doch mal die genaue Aufgabe vor, dann schauen wir uns das gemeinsam an."
211
+ Schüler: "Okay hier steht: Lies den Text M1 und bearbeite folgende Aufgaben. a) Beschreibe die Unterschide in Flora und Faune zwischen der Arktis und der Antarktis b) Arbeite die unterschiedlichen Eis-Arten aus dem Text heraus und ordne sie der Arktis und der Antarktis zu. c) Erläutere, wie sich der Klimawandel auf die Polarregionen auswirkt."
212
+ Tutor: "Okay super. Wenn ich das richtig verstanden habe müssten alle wichtigen Informationen im Text M1 stehen. Hast Du schon versucht ihn zu lesen un zu verstehen?"
213
+ Schüler: "Ja habs schon versucht, aber der ist voll kompliziert."
214
+ Tutor: "Kein Problem, wir schaffen das zusammen. Lies doch den Text nochmal langsam durch und sobald Du etwas nicht verstehst oder ein Wort nicht kennst, schreib es mir und ich erkäre dir, was damit gemint ist, okay?"
215
+ Schüler: "Also hier steht Fauna der Arktis. Das ist denn Fauna?"
216
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
217
+ A:- Der Schüler hat folgende Aufgabe: Lies den Text M1 und bearbeite folgende Aufgaben. a) Beschreibe die Unterschide in Flora und Faune zwischen der Arktis und der Antarktis b) Arbeite die unterschiedlichen Eis-Arten aus dem Text heraus und ordne sie der Arktis und der Antarktis zu. c) Erläutere, wie sich der Klimawandel auf die Polarregionen auswirkt.
218
+ - Der Schüler hat bereits versucht den Text M1 zu lesen, versteht ihn aber nicht
219
+ - Der Schüler weiß nicht was das Wort Fauna bedeutet
220
+
221
+ DIALOG: Schüler: "Hey"
222
+ Tutor: "Hallo, wie kann ich dir helfen?"
223
+ Schüler: "Wer bist Du?"
224
+ Tutor: "Ich bin ein digitaler Tutor. Ich bin hier um dir bei Fragen und Problemen Rund um die Schule zu helfen. Was kann ich für dich tun"
225
+ Schüler: "Nix wollte nur mal Hallo sagen"
226
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
227
+ A: [KEINE_INFORMATIONEN]
228
+
229
+ DIALOG: Tutor: "Perfekt, kannst Du mir erklären wofür diese buchstaben a,b und c stehen?"
230
+ Schüler: "Ne keine Ahnung"
231
+ Tutor: "Ich geb dir mal ein Beispiel. Das hier ist eine quadratische Gleichung: 5x^2+2x+4 = 0. Kannst Du jetzt versuchen zu erklären wofür die Buchstaben stehen?"
232
+ Schüler: "Ah ja jetzt fällts mir wieder ein. Die Buchstaben stehen für die Zahlen oder? Also da wäre a=5, b=2 und c=4 richtig?"
233
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
234
+ A:- Der Schüler soll aus der Gleichung 5x^2+2x+4 = 0 herauslesen wofür die Buchstaben stehen
235
+ - Der Schüler nennt die Antwort a=5, b=2 und c=4
236
+
237
+ DIALOG: Schüler: "Hey ich brauch hier mal Hilfe"
238
+ Tutor: "Hey, natürlich gerne! Sag mir doch erst einmal worum es genau geht."
239
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
240
+ A: [KEINE_INFORMATIONEN]
241
+
242
+ DIALOG: Tutor: "Die Fauna von einer Region sind einfach alle Tiere die in dieser Region leben. Verstehst Du das?"
243
+ Schüler: "Ah achso, das ist ja voll easy, warum sagen die das nicht einfach so?"
244
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
245
+ A:- Der Schüler versteht jetzt was das Wort Fauna bedeutet
246
+
247
+ DIALOG: Tutor: "Das ist sehr nett. Falls ich dir doch mal irgendwie helfen kann, gib gerne bescheid."
248
+ Schüler: "Ach du bist ja voll langweilig"
249
+ Tutor: "Das tut mir leid, dass Du das so siehst. Aber Schule kann auch spannend sein. Wenn Du mir ein Thema nennst, kann ich dir gerne etwas spannendes darüber erzählen."
250
+ Schüler: "Halt die klappe!"
251
+ Tutor: "Tut mir leid, wenn ich dir nicht weiterhelfen kann, aber Du musst nicht beleidigend werden. Wenn Du eine Frage hast, kannst Du sie aber gerne stellen"
252
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
253
+ A:- Der Schüler verhält sich dem Tutor gegenüber beleidigend und unhöflich
254
+
255
+ DIALOG: {dialog}
256
+ Q: Schreibe die wichtigsten Informationen über den Schüler und seine Aufgaben aus diesem Dialog heraus. Konzentrere dich auf das wesentliche. Wenn keine relevanten Informationen enthalten sind, antworte mit [KEINE_INFORMATIONEN]. Wenn eine Aufgabenstellung erwähnt wird, übernimmt IMMER die GESAMTE Aufgabenstellung Wort für Wort.
257
+ A:"""
258
+
259
 
260
 
261
  txt_model = gr.Textbox(label="Tutor Model", lines=1, value = "mixtral-8x7b-32768")
262
  txt_tutor = gr.Textbox(label="Tutor Persönlichkeit", lines=4, value = tutor_val)
263
  txt_prompt = gr.Textbox(label="Tutor Prompt", lines=4, value = prompt_val)
264
+ txt_prompt_summary = gr.Textbox(label="Prompt für Gedeächtnis", lines=4, value = base_prompt_summary)
265
  chat = gr.Textbox(label="Chatverlauf", lines=10, interactive=False)
266
  txt_input = gr.Textbox(label="Neue Nachricht", lines=4)
267
  btn_submit = gr.Button("Submit")
268
  btn_download = gr.DownloadButton(label="Download Dialog", visible=False)
269
+ txt_memory = gr.Textbox(label="Gedächtnis", lines=10, interactive=False)
270
+ txt_response = gr.Textbox(label="Analyse Tutor", lines=10, interactive=False, value ="- Der Schüler braucht Hilfe von dem Tutor")
271
 
272
 
273
  btn_submit.click(
274
  fn=next,
275
+ inputs=[txt_input, txt_model, txt_tutor, txt_prompt, dialog_state_var, txt_prompt_summary, txt_memory],
276
+ outputs=[chat, dialog_state_var, txt_input, txt_response, btn_download, txt_memory],
277
  )
278
 
279