File size: 1,150 Bytes
080b840
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI, Request
from fastapi.responses import PlainTextResponse
import requests

app = FastAPI()

# Dicionário para armazenar o histórico de conversas
conversation_histories = {}

API_URL = "https://fabiosantos-ia.hf.space/api/v1/prediction/a953ea1b-ee34-4ae3-9b25-b82c814dd871"

def query(payload):
    response = requests.post(API_URL, json=payload) #envia a pergunta pelo url da api para a IA
    return response.json() #guarda a resposta

@app.post("/whatsapp") #endpoint do twilio
async def reply_whatsapp(request: Request): #recebe a mensagem do usuario
    form = await request.form()
    incoming_msg = form.get('Body', '').lower() #guarda a mensagem do usuario
    from_number = form.get('From')
    
    print(incoming_msg)
    print(from_number)

    # Get the user's conversation history, if it exists
    user_history = conversation_histories.get(from_number, [])

    output = query({
        "question": incoming_msg, #leva o que usuario falou para IA pela função query
    })
                                
    
    return PlainTextResponse(output['text'], status_code=200)