Healthcare RAG
Un servidor RAG centrado en la atención médica que utiliza la API de Groq y Chroma para la recuperación de información de registros de pacientes.
Documentación
HealthcareRAGTools Proyecto
Resumen
El proyecto HealthcareRAGTools es un sistema de IA agéntico diseñado para ayudar a profesionales de la salud mediante el uso de técnicas de Generación Aumentada por Recuperación (RAG). Este proyecto integra un servidor de Protocolo de Contexto de Modelo (MCP) con una base de datos vectorial Chroma para registrar síntomas de pacientes, recuperar casos similares y buscar documentos médicos. Admite consultas interactivas a través de un cliente basado en terminal y también puede utilizarse dentro de la interfaz de chat de agente del IDE Cursor.
Descripción del Proyecto
Este proyecto permite las siguientes funcionalidades clave:
- Registrar Síntomas de Pacientes: Registra síntomas de pacientes (por ejemplo, "fiebre y tos") con niveles de gravedad (por ejemplo, "Moderado") y recupera casos similares de la base de datos para comparación.
- Buscar Documentos: Busca una colección de documentos médicos (por ejemplo, descripciones de síntomas de gripe o asma) para proporcionar información relevante según las consultas del usuario. El sistema utiliza la API de Groq para el procesamiento de lenguaje natural, con el modelo llama-3.3-70b-versatile. Está diseñado para admitir la gestión y recuperación de datos de salud en tiempo real, lo que lo convierte en una herramienta valiosa para el apoyo a la toma de decisiones clínicas.
Herramientas Utilizadas
El proyecto se basa en las siguientes herramientas y tecnologías:
Python 3.8+: El lenguaje de programación principal para scripts y lógica de servidor. FastMCP: Un marco de plataforma de computación modular para construir y ejecutar sistemas agénticos. LangChain: Una biblioteca para construir modelos de lenguaje y agentes conscientes del contexto. LangChain-Groq: Integración con la API de Groq para capacidades avanzadas de modelos de lenguaje. Chroma: Una base de datos vectorial de código abierto para almacenar y recuperar incrustaciones de documentos médicos y datos de pacientes. Sentence-Transformers: Se utiliza para generar incrustaciones de datos de texto en la base de datos Chroma. HTTpx: Para manejar solicitudes HTTP dentro del sistema. Python-Dotenv: Gestiona variables de entorno, como la clave de API de Groq. LangChain-Community: Herramientas adicionales de LangChain compatibles con la comunidad. Requests: Para realizar solicitudes HTTP a servicios externos. UV: Un gestor de paquetes y entornos virtuales para la gestión de dependencias. Cursor IDE: El entorno de desarrollo, con planes para habilitar la funcionalidad de chat de agente.
Estructura de Directorios
El proyecto está organizado de la siguiente manera:
\Desktop\mcpserver\ragmcp
├── .env # Almacena la variable de entorno GROQ_API_KEY
├── .gitignore # Excluye venv, chroma_db y .env del control de versiones
├── server.py # Script principal del servidor MCP con la lógica de HealthcareRAGTools
├── setup_db.py # Script para inicializar la base de datos vectorial Chroma
├── healthcare_client.py # Cliente basado en terminal para consultas interactivas
├── healthcare.json # Archivo de configuración para el servidor MCP
├── requirements.txt # Lista las dependencias del proyecto
├── documents\ # Directorio para documentos médicos de muestra
│ ├── doc1.txt # Documento de ejemplo: Síntomas de gripe
│ ├── doc2.txt # Documento de ejemplo: Síntomas de asma
├── patient_records.json # Archivo JSON que almacena datos de síntomas de pacientes
├── chroma_db\ # Directorio para la base de datos vectorial Chroma
└── ragmcp\ # Directorio del entorno virtual
Configuración e Instalación
Para configurar el proyecto en su máquina local, siga estos pasos:
Requisitos Previos Windows 10/11 con Símbolo del sistema. Python 3.8+ instalado. UV (Entorno Virtual Universal) instalado: pip install uv. Una clave de API de Groq desde console.groq.com. Pasos Crear y Activar el Entorno Virtual: uv venv ragmcp\Scripts\activate Confirme que el símbolo del sistema muestre (ragmcp). Instalar Dependencias: Asegúrese de que requirements.txt exista con las dependencias listadas: set UV_LINK_MODE=copy uv pip install -r requirements.txt Configurar Variables de Entorno: Cree o edite .env con su clave de API de Groq: GROQ_API_KEY=su-clave-de-api-de-groq Inicializar la Base de Datos: Ejecute el script de configuración para poblar la base de datos Chroma con documentos de muestra: uv run python setup_db.py Salida esperada: Base de datos vectorial inicializada con documentos médicos de muestra. Ejecutar el Proyecto Cliente Basado en Terminal Iniciar el Cliente: uv run python healthcare_client.py Salida Esperada: Cargando variables de entorno... Cargando archivo de configuración: C:\Users\sniki\OneDrive\Desktop\mcpserver\ragmcp\healthcare.json Inicializando chat de HealthcareRAGTools... MCPClient inicializado ChatGroq inicializado
===== Chat Interactivo de HealthcareRAGTools ===== Escriba 'exit' o 'quit' para finalizar la conversación Escriba 'clear' para borrar el historial de conversación Consultas de ejemplo:
- Registrar síntomas para el paciente P123: fiebre y tos, gravedad Moderado, mostrar casos similares
- Buscar documentos sobre síntomas de gripe ==================================
Usted:
Probar una Consulta: Escriba: Registrar síntomas para el paciente P123: fiebre y tos, gravedad Moderado, mostrar casos similares Respuesta esperada: Asistente: Síntomas registrados para el Paciente P123: 'fiebre y tos' (Moderado). Casos similares: Ninguno Salir: Escriba exit o quit.
Para ejecutarlo en el chat de agente de Cursor:
Copie el código json en Archivo>Preferencias>Configuración de Cursor>MCP/Herramientas MCP y ejecute el servidor de la siguiente manera:
uv run python server.py
También puede usar las mismas consultas aquí.