Spaces:
Sleeping
Sleeping
# 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() | |