backend / app.py
FabioSantos's picture
Update app.py
414e8f4 verified
from fastapi import FastAPI, Request
from openai import OpenAI
import csv
import os
import json
app = FastAPI()
client = OpenAI(api_key = os.getenv("OPENAI_API_KEY"))
# Carregar dados das pizzas do CSV
pizzas = []
with open('pizzas.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
pizzas.append(row)
@app.post("/chat")
async def chat(request: Request):
data = await request.json()
user_message = data.get("message")
# Consultar os dados das pizzas caso uma pizza específica seja mencionada
pizza_info = ""
for pizza in pizzas:
if pizza['nome'].lower() in user_message.lower():
pizza_info = f"{pizza['nome']} - Ingredientes: {pizza['ingredientes']}, Valor: R${pizza['valor']}\n"
break
# Criação da mensagem para o GPT-4
prompt = f"Você é um chatbot de atendimento de uma pizzaria. Se o cliente perguntar sobre uma pizza específica, forneça os detalhes. Caso contrário, responda normalmente.\nCliente: {user_message}\n{pizza_info}Chatbot:"
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": prompt}
]
)
reply = response.choices[0].message.content
return {"reply": reply}