File size: 1,296 Bytes
24f3fdc
 
 
 
 
 
 
 
 
 
 
 
1a968d3
24f3fdc
 
1a968d3
24f3fdc
 
1a968d3
 
 
 
24f3fdc
 
 
 
1a968d3
 
24f3fdc
1a968d3
24f3fdc
 
 
 
 
1a968d3
24f3fdc
 
 
 
1a968d3
24f3fdc
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
import time
import gradio as gr
import base64
from io import BytesIO
from PIL import Image

def encode_image_to_base64(image_path):
    with open(image_path, "rb") as image_file:
        encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
    return encoded_string

def slow_api_response(message, history):
    # Simular el texto de la respuesta
    response_text = "Aquí tienes una imagen de la propiedad:"
    
    # Convertir la imagen local a base64
    image_base64 = encode_image_to_base64("baño.jpeg")
    
    # Generar la imagen en formato HTML (etiqueta img con base64)
    html_image = f'<img src="data:image/jpeg;base64,{image_base64}" alt="Imagen de la propiedad" width="300"/>'

    # Mostrar el texto de forma progresiva
    for i in range(len(response_text)):
        time.sleep(0.05)
        yield response_text[:i + 1]

    # Retornar la imagen en formato HTML como parte de la conversación
    yield html_image

# Ejemplos para el chat
examples = [
    ["Hola, quiero ver la propiedad", []],
    ["¿Tienen más fotos?", []]
]

# Crear la interfaz de chat
demo = gr.ChatInterface(
    fn=slow_api_response,
    examples=examples,
    title="Simulación de AI Assistant",
    description="Muestra la imagen de la propiedad en el chat como HTML.",
).launch()