Healthcare RAG

Um servidor RAG focado em saúde que utiliza a API Groq e Chroma para recuperação de informações de prontuários de pacientes.

Documentação

HealthcareRAGTools Project

Visão Geral

O projeto HealthcareRAGTools é um sistema de IA agêntica projetado para auxiliar profissionais de saúde, utilizando técnicas de Geração Aumentada por Recuperação (RAG). Este projeto integra um servidor Model Context Protocol (MCP) com um banco de dados vetorial Chroma para registrar sintomas de pacientes, recuperar casos semelhantes e pesquisar documentos médicos. Ele suporta consultas interativas por meio de um cliente baseado em terminal e também pode ser usado na interface de chat do agente do IDE Cursor.

Descrição do Projeto

Este projeto permite as seguintes funcionalidades principais:

  1. Registrar Sintomas de Pacientes: Registra sintomas de pacientes (ex.: "febre e tosse") com níveis de gravidade (ex.: "Moderado") e recupera casos semelhantes do banco de dados para comparação.
  2. Pesquisar Documentos: Pesquisa uma coleção de documentos médicos (ex.: descrições de sintomas de gripe ou asma) para fornecer informações relevantes com base nas consultas do usuário. O sistema usa a API Groq para processamento de linguagem natural, com o modelo llama-3.3-70b-versatile. Ele é construído para suportar gerenciamento e recuperação de dados de saúde em tempo real, tornando-o uma ferramenta valiosa para suporte à decisão clínica.

Ferramentas Utilizadas

O projeto depende das seguintes ferramentas e tecnologias:

Python 3.8+: A principal linguagem de programação para scripts e lógica do servidor. FastMCP: Uma estrutura de plataforma de computação modular para construir e executar sistemas agênticos. LangChain: Uma biblioteca para construir modelos de linguagem e agentes sensíveis ao contexto. LangChain-Groq: Integração com a API da Groq para capacidades avançadas de modelos de linguagem. Chroma: Um banco de dados vetorial de código aberto para armazenar e recuperar embeddings de documentos médicos e dados de pacientes. Sentence-Transformers: Usado para gerar embeddings para dados de texto no banco de dados Chroma. HTTpx: Para lidar com solicitações HTTP dentro do sistema. Python-Dotenv: Gerencia variáveis de ambiente, como a chave da API Groq. LangChain-Community: Ferramentas adicionais do LangChain suportadas pela comunidade. Requests: Para fazer solicitações HTTP a serviços externos. UV: Um gerenciador de pacotes e ambiente virtual para gerenciamento de dependências. Cursor IDE: O ambiente de desenvolvimento, com planos para habilitar a funcionalidade de chat do agente.

Estrutura de Diretórios

O projeto está organizado da seguinte forma:

\Desktop\mcpserver\ragmcp
├── .env # Armazena a variável de ambiente GROQ_API_KEY ├── .gitignore # Exclui venv, chroma_db e .env do controle de versão ├── server.py # Script principal do servidor MCP com a lógica HealthcareRAGTools ├── setup_db.py # Script para inicializar o banco de dados vetorial Chroma ├── healthcare_client.py # Cliente baseado em terminal para consultas interativas ├── healthcare.json # Arquivo de configuração para o servidor MCP ├── requirements.txt # Lista as dependências do projeto ├── documents\ # Diretório para documentos médicos de exemplo │ ├── doc1.txt # Documento de exemplo: Sintomas de gripe │ ├── doc2.txt # Documento de exemplo: Sintomas de asma ├── patient_records.json # Arquivo JSON que armazena dados de sintomas de pacientes ├── chroma_db\ # Diretório para o banco de dados vetorial Chroma └── ragmcp\ # Diretório do ambiente virtual

Configuração e Instalação

Para configurar o projeto em sua máquina local, siga estes passos:

Pré-requisitos Windows 10/11 com Prompt de Comando. Python 3.8+ instalado. UV (Universal Virtual Environment) instalado: pip install uv. Uma chave da API Groq em console.groq.com. Passos Crie e Ative o Ambiente Virtual: uv venv ragmcp\Scripts\activate Confirme que o prompt mostra (ragmcp). Instale as Dependências: Certifique-se de que requirements.txt existe com as dependências listadas: set UV_LINK_MODE=copy uv pip install -r requirements.txt Configure as Variáveis de Ambiente: Crie ou edite .env com sua chave da API Groq: GROQ_API_KEY=sua-chave-da-api-groq Inicialize o Banco de Dados: Execute o script de configuração para popular o banco de dados Chroma com documentos de exemplo: uv run python setup_db.py Saída esperada: Banco de dados vetorial inicializado com documentos médicos de exemplo. Executando o Projeto Cliente Baseado em Terminal Inicie o Cliente: uv run python healthcare_client.py Saída Esperada: Carregando variáveis de ambiente... Carregando arquivo de configuração: C:\Users\sniki\OneDrive\Desktop\mcpserver\ragmcp\healthcare.json Inicializando o chat HealthcareRAGTools... MCPClient inicializado ChatGroq inicializado

===== Chat Interativo HealthcareRAGTools ===== Digite 'exit' ou 'quit' para encerrar a conversa Digite 'clear' para limpar o histórico da conversa Exemplos de consultas:

  • Registrar sintomas para o paciente P123: febre e tosse, gravidade Moderado, mostrar casos semelhantes
  • Pesquisar documentos para sintomas de gripe ==================================

Você:

Teste uma Consulta: Digite: Registrar sintomas para o paciente P123: febre e tosse, gravidade Moderado, mostrar casos semelhantes Resposta esperada: Assistente: Sintomas registrados para o Paciente P123: 'febre e tosse' (Moderado). Casos semelhantes: Nenhum Saída: Digite exit ou quit.

Para executá-lo no chat do agente do Cursor:

Copie o código json em Arquivo>Preferências>Configurações do Cursor>MCP/Ferramentas MCP e execute o servidor da seguinte forma:

uv run python server.py

Você também pode usar as mesmas consultas aqui.