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'Imagen de la propiedad' # 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()