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()
|