import gradio as gr import requests # Función para generar la respuesta usando tu API def generate_response_api(message, thread_id, assistant_id): base_url = "https://enjambre-api-mue2676eoa-uc.a.run.app" url = f"{base_url}/v1/agents/{assistant_id}/completion" response = requests.post(url, json={ "message": message, "model": "gpt-3.5-turbo-0613", "threadId": thread_id }) response_json = response.json() return response_json["message"], response_json["threadId"] # Función para manejar el chat, ahora acepta dos argumentos def chat_function(message, history): global thread_id assistant_id = "asst_vsm9RJaiFiWAcMFmwKF2u6Jd" # ID de tu asistente response, new_thread_id = generate_response_api(message, thread_id, assistant_id) thread_id = new_thread_id # Actualiza el thread_id global return response # Inicializa la variable global thread_id = None # Configuración de ChatInterface demo = gr.ChatInterface( fn=chat_function, title="Proyectos MAC", description="Soy un asistente virtual que conoce el proyecto de Magaña Arevalo Contadores a la perfección y te puedo ayudar con tus dudas o estrategias.", theme="soft", examples=[ "¿Cuál es el cronograma detallado de implementación para la transformación digital de MAC?", "¿Qué capacitaciones están incluidas en el proyecto para el personal de MAC?", "¿Cómo se integrarán las plataformas bancarias y el CRM en nuestra infraestructura actual?", "¿Cuáles son los KPIs clave que los Dashboards de BI nos ayudarán a monitorear?", "¿Qué medidas de soporte y mantenimiento ofrece Geek Studio tras la finalización del proyecto?" ], retry_btn=None, undo_btn=None, submit_btn="Enviar", stop_btn="Detener" ).queue() if __name__ == "__main__": demo.launch(share=True)