File size: 2,668 Bytes
d9983d2
 
 
 
 
 
 
 
 
 
 
 
563f626
 
d9983d2
043918e
 
 
 
 
 
 
 
 
 
 
 
 
d9983d2
 
 
 
 
 
043918e
d9983d2
 
 
 
 
 
 
 
 
563f626
 
d9983d2
 
563f626
 
043918e
 
563f626
d9983d2
 
18145ae
563f626
 
 
 
 
 
 
 
 
0dbe9ee
563f626
d9983d2
 
 
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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)