Spaces:
Runtime error
Runtime error
A newer version of the Gradio SDK is available:
5.21.0
metadata
title: Asistente de Atención Médica
emoji: 🩺
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.20.0
app_file: app.py
pinned: false
README – Asistente de Atención Médica y Asesoramiento (En Fase de Desarrollo)
¡Bienvenido/a al repositorio del Asistente de Atención Médica! Este proyecto se encuentra en fase de desarrollo, por lo que algunas funcionalidades podrían cambiar o evolucionar con el tiempo.
Índice
- README – Asistente de Atención Médica y Asesoramiento (En Fase de Desarrollo)
Descripción General
Este repositorio alberga un asistente médico interactivo dividido en tres modos principales:
- Detección y triaje de posibles casos urgentes (Atención Primaria).
- Asesoramiento con información y recomendaciones generales basadas en conocimientos médicos.
- Modo avanzado con Mistral para respuestas generativas basadas en un modelo de lenguaje.
El proyecto está implementado como una aplicación speech-to-speech usando Gradio, permitiendo a los usuarios hablar y recibir respuestas en audio. Está diseñado para alojarse en Hugging Face Spaces.
Nota Importante: Ninguna de estas herramientas sustituye la consulta con un profesional médico. Siempre aconsejamos acudir a un especialista.
Herramientas Principales
1. Atención Primaria (Triaje)
- Objetivo: Evaluar síntomas y antecedentes para determinar la urgencia de la situación.
- Puntos clave:
- Recopila datos básicos como síntomas, intensidad, duración y antecedentes (actualmente simplificado con valores por defecto).
- Aplica escalas de prioridad basadas en reglas predefinidas.
- Genera recomendaciones como “busque atención de emergencia” o “consulta de rutina”.
2. Asesoramiento
- Objetivo: Brindar información y orientación general sobre síntomas y autocuidado.
- Puntos clave:
- Procesa consultas abiertas en lenguaje natural.
- Detecta señales de alerta y sugiere triaje si es necesario.
- Incluye disclaimers legales.
3. Modo Avanzado con Mistral
- Objetivo: Generar respuestas más detalladas y naturales usando el modelo
Mixtral-8x7B-Instruct-v0.1
. - Puntos clave:
- Responde preguntas médicas con un enfoque generativo.
- Limitado por recursos en Hugging Face Spaces (puede no ejecutarse en CPU básica).
Flujo de Datos
- Entrada de Datos
- Audio capturado vía micrófono en la interfaz de Gradio (
gr.Audio
). - Convertido a texto con
faster-whisper
.
- Audio capturado vía micrófono en la interfaz de Gradio (
- Procesamiento Inicial
- Uso de SpaCy (
en_core_sci_md
) para extraer entidades médicas y evaluar gravedad. - Selección del modo: Asesoramiento, Triaje o Mistral.
- Uso de SpaCy (
- Evaluación Específica
- Asesoramiento: Respuesta basada en reglas con detección de alertas.
- Triaje: Cálculo de una puntuación de urgencia con valores por defecto.
- Mistral: Generación de texto con el modelo de lenguaje.
- Respuesta y Retroalimentación
- Respuesta convertida a audio con
gTTS
y devuelta al usuario junto con texto.
- Respuesta convertida a audio con
Especificaciones Técnicas
Entrada y Preprocesamiento
- Entrada: Audio desde el navegador (micrófono).
- Preprocesamiento: Conversión de audio a texto con
faster-whisper
, tokenización y NER con SpaCy.
Algoritmos y Modelos
- NLP: SpaCy (
en_core_sci_md
) para extracción de entidades médicas. - Clasificación de Urgencia: Reglas en
triaje_tool.py
yasesoramiento_tool.py
. - Generación:
Mixtral-8x7B-Instruct-v0.1
(opcional, requiere recursos altos).
Integración entre Herramientas
- Módulos:
tools/asesoramiento_tool.py
ytools/triaje_tool.py
importados enapp.py
. - Flujo Unificado: Gradio permite seleccionar el modo de procesamiento.
Generación de Datos Sintéticos
- Data Augmentation: En desarrollo, con planes para usar modelos de lenguaje y simulación clínica basada en datasets como MedQA.
Instalación y Uso
- Clona el repositorio:
git clone <URL_DEL_REPOSITORIO> cd <NOMBRE_DEL_REPOSITORIO>