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}] }