GraphRAG local y memoria con grafos

GraphRAG no es una palabra mágica. Sirve cuando las relaciones importan: personas, empresas, contratos, expedientes, dependencias técnicas o eventos que cambian con el tiempo.

Objetivos de aprendizaje
  • Distinguir cuándo basta búsqueda vectorial y cuándo aporta un grafo.
  • Extraer entidades y relaciones verificables desde documentos.
  • Combinar grafo, chunks y citaciones sin perder trazabilidad.
En cristiano: grafo de conocimiento. Es una red de nodos y relaciones. Por ejemplo: cliente, contrato, factura, proveedor y vencimiento, conectados por relaciones explícitas.
Terminal
Entidad:
  id: "cliente:acme"
  tipo: "cliente"
  nombre: "ACME S.L."
  fuente: "contrato-marco.pdf#p4"

Relacion:
  origen: "cliente:acme"
  tipo: "tiene_contrato"
  destino: "contrato:2026-03"
  evidencia: "contrato-marco.pdf#p4"
Idea clave. El grafo no sustituye al RAG: lo ordena. Recuperas relaciones candidatas y después traes los chunks fuente para responder con evidencia.

Cuándo merece la pena

  • Preguntas que cruzan varios documentos o fechas.
  • Auditoría de contratos, facturas, proveedores o expedientes.
  • Memoria de agentes donde importa quién hizo qué y cuándo.
  • Documentación técnica con dependencias entre servicios.
Cuidado. No aceptes relaciones generadas por IA sin evidencia. Cada arista debe guardar fuente, página o fragmento que permita auditarla.
Comprueba que funciona. Crea 25 preguntas: 10 vectoriales simples, 10 relacionales y 5 trampa. GraphRAG solo merece quedarse si mejora las relacionales sin empeorar las demás.
Guardar y reabrir el proyecto.
Empieza con NetworkX o tablas SQL antes de levantar infraestructura compleja. Si el prototipo demuestra valor, ya podrás migrar a Neo4j u otro motor.