DPWXY15's picture
Update app.py
f8391ba verified
raw
history blame contribute delete
816 Bytes
from fastapi import FastAPI, Request, UploadFile, File
import openai
import os
from io import BytesIO
openai.api_key = os.environ["OPENAI_API_KEY"]
app = FastAPI()
@app.post("/chat")
async def chat(req: Request):
data = await req.json()
messages = data.get("messages", [])
response = openai.chat.completions.create(
model="gpt-4o",
messages=messages
)
return {"reply": response.choices[0].message.content}
@app.post("/transcribe")
async def transcribe(file: UploadFile = File(...)):
audio_bytes = await file.read()
audio_file = BytesIO(audio_bytes)
audio_file.name = file.filename # Required so OpenAI knows the format
response = openai.audio.transcriptions.create(
model="whisper-1",
file=audio_file
)
return {"text": response.text}