MedGraph

Motor de conocimiento con IA para bibliografía académica

Proyecto open source que transforma PDFs académicos en un grafo de conocimiento interconectado y consultable. No es un chatbot. Es infraestructura de búsqueda y razonamiento sobre tu propia bibliografía.

Open SourceAGPLv3

El problema

Los estudiantes e investigadores trabajan con decenas de PDFs: libros de texto, consensos, guías clínicas, papers, legislación. La información sobre un mismo tema está fragmentada entre múltiples fuentes — la patología en un libro, su farmacología en otro, su semiología en un tercero.

Los LLMs genéricos (ChatGPT, Claude, Gemini) pueden parecer una solución, pero presentan un problema fundamental: alucinan. Generan respuestas plausibles pero incorrectas, inventan citas bibliográficas que no existen, mezclan datos de fuentes no verificables. En medicina, una alucinación sobre una dosis farmacológica o una contraindicación puede ser peligrosa. En derecho, citar jurisprudencia inexistente puede costar un caso.

Incluso los sistemas de RAG (Retrieval-Augmented Generation) como NotebookLM reducen las alucinaciones, pero tienen una limitación estructural: tratan cada documento como una colección de fragmentos aislados. No entienden qué dice el texto, no identifican entidades, no construyen relaciones. Si la respuesta requiere conectar información de tres libros distintos, un RAG plano no puede hacerlo.

Cómo funciona

1

Ingesta

El sistema recibe PDFs, extrae el texto preservando estructura (capítulos, secciones, páginas). Si es escaneado, aplica OCR. Divide en fragmentos de ~280 palabras con overlap.

2

Vectorización

Cada fragmento se convierte en un vector de 3,072 dimensiones que captura su significado semántico. Permite encontrar información aunque use sinónimos o redacción diferente.

3

Extracción de entidades

La IA identifica patologías, fármacos, síntomas, procedimientos, normas legales, y las relaciones entre ellos. Construye un grafo de conocimiento automáticamente.

4

Consulta

Búsqueda híbrida: recorre el grafo (entidades + relaciones), busca en vectores (semántica), busca por keywords. Responde con citas exactas: libro, página, sección.

No es una base de datos. Es un grafo.

Las bases de datos convencionales almacenan información en tablas. Un RAG tradicional agrega vectores, pero sigue siendo una lista plana de fragmentos sin relación entre sí.

MedGraph usa un grafo — cada concepto es un nodo y cada relación es un vínculo tipado:

[Hipertensión Arterial]
──SE_TRATA_CON──▸ [Enalapril]
──SE_DIAGNOSTICA_CON──▸ [MAPA 24h]
──FACTOR_DE_RIESGO──▸ [ACV]
[Enalapril]
──PERTENECE_A──▸ [IECA]
──CONTRAINDICADO_EN──▸ [Embarazo]

Esto habilita razonamiento multi-hop: una consulta sobre la HTA recorre la cadena patología → tratamiento → grupo farmacológico → contraindicación → alternativa, cruzando múltiples libros de forma automática.

Arquitectura: 5 capas de conocimiento

Un router inteligente analiza cada pregunta, detecta entidades e intención, y activa las capas necesarias en paralelo. Los resultados se combinan en una sola respuesta.

ONTOLOGY

Navega jerarquías ATC (fármacos) y SNOMED (patologías). Bidireccional: preguntás por un fármaco → sube a su clase. Preguntás por una clase → baja a todos los fármacos. Cruza ambas ontologías.

GRAPH

Relaciones semánticas extraídas de la bibliografía. Para una patología: tratamientos, causas, manifestaciones, diagnósticos, complicaciones, diferenciales.

BIBLIOGRAPHY

Búsqueda híbrida multi-query. Genera sub-queries reformuladas, ejecuta búsqueda semántica + keywords, fusiona resultados con RRF. Devuelve fragmentos exactos con libro, página, sección.

ACTIVITIES

Material académico asociado: TPs, seminarios, talleres, guías de contenido.

DAGS

Flujos clínicos y pathways. Secuencias ordenadas de pasos diagnósticos/terapéuticos. Se activan con preguntas tipo 'qué hago ante' o 'cómo manejar'.

Comparativa

LLM directoRAG tradicionalMedGraph
AlucinacionesFrecuentesReducidas pero posiblesMínimas — solo lo que existe en el grafo
CitasInventa o no citaDocumento, no siempre páginaLibro, página y sección exacta
EstructuraNingunaLista plana de chunksGrafo con entidades y relaciones
BúsquedaGenera de memoriaSemántica (vectores)Híbrida: grafo + semántica + keywords
Cross-documentNoLimitadaAutomática entre documentos
Multi-hopVentana de contextoNoRecorre cadenas en el grafo
PersistenciaPor conversaciónPor sesiónPermanente y creciente
Datos del usuarioNube del proveedorCaja negraTu infraestructura, exportable
LLMFijoFijoCualquiera vía API
CostoSuscripciónGratis con límites$0 — modelo BYOK
CódigoCerradoCerradoOpen source (AGPLv3)

La diferencia en la práctica

RAG tradicional: preguntás "¿qué relación hay entre la apnea del sueño y el síndrome de intestino irritable?" → busca si alguno de tus PDFs menciona ambas cosas juntas. Si ninguno lo hace, no tiene respuesta.

MedGraph: el grafo conecta AOS → activación simpática → eje cerebro-intestino → SII → y además encuentra que el SII se asocia a alteraciones temporomandibulares → y que la retrognatia es factor de riesgo de AOS. Cruza 4 libros en una sola consulta porque las entidades están conectadas en el grafo.

Estado actual del proyecto

257K+

Nodos

1.4M+

Relaciones

73K+

Fragmentos

159K+

Entidades

239

Documentos

Disciplinas

Medicina

Medicina interna, farmacología, semiología, patología, pediatría, ORL, oftalmología, dermatología, ECG. 11 tipos de entidad, 17 tipos de relación. Ontologías ATC y SNOMED.

Derecho

Códigos, legislación, doctrina, jurisprudencia. 12 tipos de entidad, 18 tipos de relación. Conectores a bases jurídicas públicas.

Extensible

El pipeline es agnóstico al dominio. Funciona con cualquier disciplina que tenga bibliografía en PDF.

Open source y modelo BYOK

Licencia AGPLv3

Código abierto. Podés auditar, modificar y desplegar tu propia instancia.

Modelo BYOK (Bring Your Own Key)

El usuario trae sus propias API keys: Google AI Studio (gratis) para embeddings, cualquier LLM (Claude, GPT, Gemini, Grok) para razonamiento, Neo4j AuraDB Free (gratis, 200K nodos) para el grafo.

Costo para levantar una instancia propia: $0.

Integraciones

Claude (Anthropic)

Via MCP server — el asistente consulta MedGraph directamente

Custom GPTs (OpenAI)

Via API REST con schema OpenAPI

Cualquier LLM

API REST estándar con autenticación por API key

UniCrono

Integración via iframe + JWT para acceso desde la webapp