File size: 733 Bytes
f2d2064
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI, Request
from pydantic import BaseModel
import openai
import os

openai.api_key = os.getenv("OPENAI_API_KEY")

app = FastAPI()

class ChatRequest(BaseModel):
    message: str
    history: list = []

@app.post("/chat")
async def chat(data: ChatRequest):
    messages = [{"role": "system", "content": "You are a helpful assistant."}]
    messages += data.history
    messages.append({"role": "user", "content": data.message})

    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=messages
    )

    reply = response['choices'][0]['message']['content']
    return {
        "reply": reply,
        "history": messages + [{"role": "assistant", "content": reply}]
    }