RiohDigital's picture
Update app.py
76750ce verified
raw
history blame contribute delete
No virus
1.44 kB
from fastapi import FastAPI, Request, Form
from fastapi.responses import PlainTextResponse
import requests
app = FastAPI()
# Dicion谩rio para armazenar o hist贸rico de conversas
conversation_histories = {}
API_URL = "https://riohdigital-teste-de-assistentes.hf.space/api/v1/prediction/61bb3fef-765f-43c4-bb49-15597ffa7169"
def query(payload):
response = requests.post(API_URL, json=payload)
return response.json()
@app.post("/whatsapp")
async def reply_whatsapp(request: Request):
form = await request.form()
incoming_msg = form.get('Body', '').lower()
from_number = form.get('From') # Corrigido 'from' para 'From'
print(incoming_msg)
print(from_number)
# Obter o hist贸rico de conversas do usu谩rio, se existir
user_history = conversation_histories.get(from_number, [])
# Adicionar a nova mensagem ao hist贸rico
user_history.append(incoming_msg)
# Atualizar o hist贸rico de conversas
conversation_histories[from_number] = user_history
# Concatenar o hist贸rico em uma 煤nica string para enviar 脿 API
history_text = " ".join(user_history)
output = query({
"question": history_text,
})
# Adicionar a resposta ao hist贸rico
user_history.append(output['text'])
# Atualizar o hist贸rico de conversas com a nova resposta
conversation_histories[from_number] = user_history
return PlainTextResponse(output['text'], status_code=200)