File size: 1,382 Bytes
42f970b
c732a18
ab558ef
 
c732a18
ab558ef
fb9d63e
ab558ef
4eaf1b2
ab558ef
 
 
 
da033a6
ab558ef
fb9d63e
ab558ef
 
 
 
 
4eaf1b2
ab558ef
da033a6
ab558ef
abfc5be
3efcae6
ab558ef
 
da033a6
 
c732a18
ab558ef
 
 
da033a6
26325b4
da033a6
26325b4
da033a6
 
d5c9e08
f3ceb0f
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
import time
import gradio as gr
import requests
import json

# Función que hace la solicitud a la API y muestra la respuesta progresivamente
def slow_api_response(message, history):
    url = "https://data-monopolio.dev.dd360.mx/ai-assistant/v1"

    # Crea el payload con el mensaje proporcionado
    payload = json.dumps({
        "query": message,
        "sessionId": "12345",
        "numMessages": "3", 
        "userId": "user-01",
        "property_id": "c0ced2220b87fc23762facf617157a4f"
    })
    
    headers = {
        'Content-Type': 'application/json'
    }

    try:
        
        response = requests.request("POST", url, headers=headers, data=payload)
        api_response = response.text
        api_response = api_response.encode().decode('unicode_escape')
        
        for i in range(len(api_response)):
            time.sleep(0.05) 
            yield api_response[:i + 1]  

    except requests.RequestException as e:
        yield f"Error: {str(e)}"


demo = gr.ChatInterface(fn=slow_api_response,
                        title="AI Assistant",  
                        description="Esta app simula una conversación con un asistente virtual que conoce una propiedad.",
                        examples=[{"text": "hello"}, {"text": "me gustaria mas informacion de la casa en venta"}, {"text": "acepta mascotas?"}]
                        ).launch()