File size: 2,090 Bytes
dab6e6a
 
 
 
 
 
 
 
771d4ac
b1a364e
 
 
 
 
 
771d4ac
 
b1a364e
 
 
 
 
 
 
 
29c0acf
b1a364e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dab6e6a
b069a16
771d4ac
ee377a3
 
 
771d4ac
 
a104661
 
 
 
771d4ac
b1a364e
ee377a3
771d4ac
b1a364e
 
 
 
771d4ac
ee377a3
b1a364e
 
 
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
   
#            PATIO  DE  JUEGOS  DE INTELIGENCIA ARTIFICIAL
#             PROYECTO 50 Consulta Médica colombiana IA
#               Consejero Médico regional personalizado
#                        Bogota colombia 2024



import gradio as gr
from groq import Groq

# Inicializar el cliente Groq
client = Groq()

# Función para manejar la completación del chat
def chat_con_bot(ciudad, informacion_clinica):
    mensaje_usuario = f"Ciudad: {ciudad}. Información clínica: {informacion_clinica}"
    completion = client.chat.completions.create(
        model="llama-3.1-70b-versatile",
        messages=[
            {
                "role": "user",
                "content": mensaje_usuario
            }
        ],
        temperature=0.7,
        max_tokens=1024,
        top_p=1,
        stream=True,
        stop=None,
    )
    
    # Recopilar la respuesta
    respuesta = ""
    for chunk in completion:
        respuesta += chunk.choices[0].delta.content or ""
    
    return respuesta

# Configurar la interfaz de Gradio usando Blocks
with gr.Blocks() as interfaz:
    gr.Markdown("# Consulta Médica colombiana IA\nModelo Llama 3.1 70B en español")
    
    with gr.Row():
        informacion_clinica = gr.Textbox(
            label="¿Cuáles son tus síntomas, desde cuándo aparecieron, cuál es tu sexo, edad, y antecedentes médicos, fármacos y si hay algún hallazgo físico observable?"
        )
    
    with gr.Row():
        ciudad = gr.Textbox(
            label="¿En qué ciudad o municipio vives (para ajustes epidemiológicos) y qué nivel de educación tienes (para ajustar la explicación de tu enfermedad)?",
            value="Bogotá"
        )

    with gr.Row():
        respuesta = gr.Textbox(label="Respuesta")
    
    with gr.Row():
        enviar = gr.Button("Enviar")
        limpiar = gr.Button("Limpiar")

    enviar.click(fn=chat_con_bot, inputs=[ciudad, informacion_clinica], outputs=respuesta)
    limpiar.click(fn=lambda: ("Bogotá", ""), inputs=None, outputs=[ciudad, informacion_clinica])

# Lanzar la aplicación
interfaz.launch()