Spaces:
Build error
Build error
File size: 1,330 Bytes
793fb4f bcb075a 793fb4f 0f21016 bcb075a 793fb4f bcb075a 793fb4f bcb075a 793fb4f cbda7da 414e8f4 |
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 42 43 44 45 |
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} |