File size: 1,096 Bytes
16126d1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import openai # type: ignore
# openai.api_key = os.getenv("OPENAI_API_KEY")

client = openai.OpenAI()
def respond(
            message, 
            history: list[tuple[str, str]], 
            system_message, 
            max_tokens, 
            temperature, 
            top_p
    ):
    
    #read system message
    messages = [{"role": "system", "content": system_message}]
    
    #read history
    for val in history:
        if val[0]:
            messages.append({"role": "user", "content": val[0]})
        if val[1]:
            messages.append({"role": "assistant", "content": val[1]})
    
    #read output
    messages.append({"role": "user", "content": message})
    print("## Messages: \n", messages) #debug output

    #create output
    response = client.responses.create(
        model="gpt-4.1-nano", 
        input=messages,
        temperature=temperature,
        top_p=top_p,
        max_output_tokens=max_tokens
    )

    #read output
    response = response.output_text
    print("## Response: ", response) #debug output
    print("\n")
    yield response #chat reply