File size: 1,993 Bytes
ec64b3b
 
 
 
4fabcc1
ec64b3b
 
 
 
 
483a05d
 
ec64b3b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1e3514f
 
483a05d
1e3514f
 
ec64b3b
 
1e3514f
ec64b3b
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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: Bevor ein neuer Schüler in die Schule gehen kann, muss er was mit der Schulverwaltung klären?
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("""
    # <h1><center>EduBot</center></h1>

    <p style="font-size: 20px;"> Aufgabe </p>
         
    Sie sind Schüler/Schülerin und brauchen Hilfe zur folgenden Aufgabe: 
    
    <h3>Bevor ein neuer Schüler in die Schule gehen kann, muss er was mit der Schulverwaltung klären? </h3>
   
    Schicken Sie dem EduBot diese Aufgabe.
    
                
    WICHTIG: Nachdem Sie die Antwort erhalten, reagieren Sie <h3>EINMAL</h3> 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()