import os import gradio as gr import openai openai.api_key = os.getenv("API_KEY") def ai_response(query): completion = openai.ChatCompletion.create( model="gpt-4o", messages=[ {"role": "assistant", "content":''' Du bist Experte für alle Schulfächer. Du nimmst an einem Dialog über die folgende Aufgabe mit einem Schüler teil: Eine Münze zeigt nach oben. Markus wirft die Münze. Tom wirft die Münze nicht. Steht die Münze immer noch auf dem Kopf? Der Schüler weiß die Lösung der Aufgabe nicht. Der Schüler stellt dir weitere Fragen. Merke: Du darfst keine Fragen stellen. Du gibst eine direkte kurze Antwort auf jede Frage. Länge deiner Antworten: maximal zwei Sätze. Dein Stil: Direkt und sachlich antworten. Deine Antworten sind kurz! ''' }, {"role": "user", "content": query } ], stop = [" Human:", " AI:"], temperature=0.5, max_tokens=200, top_p=1, frequency_penalty=0, presence_penalty=0 ) return completion["choices"][0]["message"]["content"] def create_ui(query,past): output = ai_response(query) past.append((query,output)) return None , past with gr.Blocks(theme=gr.themes.Glass(spacing_size=gr.themes.sizes.spacing_sm, radius_size=gr.themes.sizes.radius_lg)) as demo: gr.Markdown(""" #

EduBot

Aufgabe

Sie sind Schüler/Schülerin und brauchen Hilfe zur folgenden Aufgabe:

Eine Münze zeigt nach oben. Markus wirft die Münze.Tom wirft die Münze nicht. Steht die Münze immer noch auf dem Kopf?

Schicken Sie dem EduBot diese Aufgabe. WICHTIG: Nachdem Sie die Antwort erhalten, reagieren Sie

EINMAL

auf die Antwort des Chatbots. """) chatbot = gr.Chatbot() msg = gr.Textbox(placeholder="Schreibe hier deine Frage und drücke auf 'Enter', um die Frage zu senden.") msg.submit(create_ui, inputs=[msg,chatbot] , outputs=[msg,chatbot]) demo.launch()