import gradio as gr import requests import os # Marcadores de posición que serán reemplazados por TemplateGen assistant_id = "asst_9Ij7ORMY2IQ8CEnWxmrmn8K2" project_id = "65b3f1b7bbb53ccdfcd622f7" title = "Asistente inteligente de operaciones fiscales." description = "Hola Sergio, Descubre consejos prácticos y guías detalladas para optimizar tus operaciones fiscales y mantener el cumplimiento." theme = "light" examples = ["¿Cómo puedo automatizar el alta de nuevos clientes y proveedores para mejorar la eficiencia?", "¿Cuáles son los pasos para emitir facturas que cumplan con las regulaciones fiscales actuales?", "¿Cómo puedo manejar con eficacia las consultas fiscales de mis clientes?", "¿Qué herramientas están disponibles para asegurar la precisión y seguridad en la gestión de operaciones fiscales?", "¿Cómo puedo estar siempre actualizado sobre los cambios en la legislación fiscal?"] # Inicializa la variable global thread_id = None def process_body(message: str, thr_id): if thr_id == None: return { "message": message, "model": "gpt-3.5-turbo-0613" } return { "message": message, "model": "gpt-3.5-turbo-0613", "threadId": thr_id } # Función para generar la respuesta usando tu API def generate_response_api(message, thread_id, assistant_id): assistant_id = "asst_9Ij7ORMY2IQ8CEnWxmrmn8K2" # Variable dinámica project_id = "65b3f1b7bbb53ccdfcd622f7" # Variable dinámica base_url = "https://enjambre-api-mue2676eoa-uc.a.run.app" url = f"{base_url}/v1/agents/{assistant_id}/completion" response = requests.post(url, json=process_body(message, thread_id)) response_json = response.json() return response_json["message"], response_json["threadId"] # Aquí continúa tu lógica de Gradio... def chat_function(message, history): global thread_id assistant_id # ID de tu asistente response, new_thread_id = generate_response_api(message, thread_id, assistant_id) if new_thread_id != None: thread_id = new_thread_id # Actualiza el thread_id global return response def set_thread_id(thr_id:str): global thread_id if thr_id == '': return thread_id = thr_id # Configuración de ChatInterface usando valores dinámicos demo=gr.ChatInterface( fn=chat_function, title=title, description=description, theme=theme, examples=examples, retry_btn=None, undo_btn=None, submit_btn="Enviar", stop_btn="Detener" ).queue() if __name__ == "__main__": demo.launch(share=True)