← Proyectos

IA aplicada y GenAI · RAG

Medical Chatbot with LLMs

Un prototipo RAG de portafolio que responde preguntas médicas generales a partir de un libro de referencia, construido con LangChain, Pinecone y GPT-4o.

Prototipo educativo de portafolio. No es una herramienta clínica: no ofrece diagnósticos ni recomendaciones de tratamiento y no es software de salud en producción.

Estado
Prototipo RAG de portafolio
Stack
Python · LangChain · HuggingFace · Pinecone · GPT-4o · Flask · Docker · AWS ECR · AWS EC2 · GitHub Actions
Interfaz MediGuide Chat del prototipo RAG médico, con un aviso de uso solo educativo y una conversación de ejemplo que responde preguntas generales sobre SARS y VSV.Ver en tamaño completo
Interfaz de chat del prototipo. Uso educativo únicamente; no es soporte para decisiones clínicas.

Resumen

Implementé un chatbot con generación aumentada por recuperación como proyecto educativo: GPT-4o responde preguntas usando fragmentos recuperados de un libro de referencia médica indexado en Pinecone.

El proyecto cubre el recorrido desde la ingesta de documentos hasta una app Flask en contenedor, con un workflow de GitHub Actions que construye la imagen Docker, la sube a Amazon ECR y la ejecuta en una instancia EC2.

Enfoque

El prompt de sistema le indica al modelo que responda con el contexto recuperado, que diga cuándo no sabe algo y que limite sus respuestas a tres oraciones.

Arquitectura

  1. Ingesta

    DirectoryLoader y PyPDFLoader leen el PDF de origen, y cada página conserva solo su fuente como metadato.

  2. Fragmentación

    RecursiveCharacterTextSplitter con fragmentos de 500 caracteres y una superposición de 20.

  3. Embeddings y base vectorial

    Embeddings all-MiniLM-L6-v2 de HuggingFace (384 dimensiones) guardados en un índice serverless de Pinecone con similitud coseno.

  4. Recuperación y generación

    La búsqueda por similitud devuelve los 3 fragmentos más cercanos y una cadena de recuperación de LangChain se los pasa a GPT-4o junto con el prompt de sistema.

  5. App y despliegue

    Flask sirve la página de chat y un endpoint de mensajes. GitHub Actions construye la imagen Docker, la sube a Amazon ECR y la ejecuta en EC2 mediante un runner propio.

Tecnología

  • Python
  • LangChain
  • HuggingFace
  • Pinecone
  • GPT-4o
  • Flask
  • Docker
  • AWS ECR
  • AWS EC2
  • GitHub Actions

Limitaciones

  • No hay evaluación de la calidad de la recuperación ni de las respuestas.
  • Las respuestas dependen de una sola fuente de referencia, que no se redistribuye con el repositorio.
  • Los fragmentos recuperados no se muestran al usuario como citas.
  • No tiene validación clínica. No está pensado para diagnósticos ni recomendaciones de tratamiento y no es software de salud en producción.

Código e implementación

Explora el repositorio.

Revisa el código y la documentación disponible del proyecto en GitHub.