Alejandría

Busca en Alejandría

Técnicas

GraphRAG

Amplía RAG con grafos de entidades y relaciones para recuperar contexto conectado.

01

En pocas palabras

Amplía RAG con grafos de entidades y relaciones para recuperar contexto conectado.

Qué problema resuelve

Búsquedas que encuentran fragmentos parecidos pero pierden relaciones entre documentos o componentes.

Cuándo utilizarlo

Investigación documental y código legado. Ejemplo: rastrear qué servicios dependen de una regla de negocio.

02

De la idea a la práctica

Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.

En el Radar compartido: Trial (valoración de la edición aportada).

Cómo funciona

La indexación identifica entidades y conexiones; la consulta recupera vecindarios, evidencias o resúmenes. El proyecto GraphRAG de Microsoft implementa estrategias locales y globales específicas.

Ejemplo de uso

Construir relaciones entre requisitos, módulos y tablas; al preguntar por un cambio fiscal, recuperar la norma y los componentes conectados. En código, AST y dependencias pueden aportar relaciones deterministas.

Pipeline de indexación

Documentos → fragmentos (text units)
  → extracción de entidades y relaciones con un LLM
  → grafo de entidades
  → detección de comunidades (algoritmo de Leiden, jerárquico)
  → informe resumido por comunidad
  → embeddings de entidades, fragmentos e informes

Los informes de comunidad son la pieza diferencial: resúmenes de grupos de entidades relacionadas que permiten responder preguntas sobre el corpus completo.

Modos de búsqueda

Modo Adecuado para Ejemplo
Local Preguntas sobre entidades concretas y su entorno «¿Qué productos dependen del servicio de buró?»
Global Preguntas que requieren visión del conjunto «¿Cuáles son los temas principales de las quejas de 2026?»
DRIFT Combina local y global con preguntas de seguimiento Exploraciones amplias que bajan a detalles
Básico Búsqueda vectorial clásica, como referencia —

El RAG vectorial clásico falla en las preguntas globales porque ningún fragmento individual contiene la respuesta.

Uso del proyecto de Microsoft

pip install graphrag
graphrag init --root ./quejas          # crea settings.yaml y carpeta input/
# copiar documentos de texto en ./quejas/input y configurar el modelo en settings.yaml
graphrag index --root ./quejas
graphrag query --root ./quejas --method global "¿Qué problemas recurrentes mencionan los clientes?"
graphrag query --root ./quejas --method local "¿Qué dicen sobre el desembolso por PSE?"

Coste y mantenimiento

La extracción hace muchas llamadas al LLM por fragmento: indexar un corpus grande puede ser caro y lento. Estrategias para controlarlo:

  • Probar primero con una muestra y estimar el coste total.
  • Usar un modelo más económico para la extracción y uno mejor para las respuestas.
  • Ajustar los prompts de extracción a los tipos de entidad del dominio (cliente, producto, canal, norma).
  • Indexación incremental para documentos nuevos en lugar de reprocesar todo.

Alternativas

Enfoque Cuándo
RAG vectorial Preguntas puntuales sobre documentos
GraphRAG Preguntas globales, temas y relaciones en corpus grandes
Grafos deterministas (código, CMDB, catálogo) Las relaciones ya existen en datos estructurados
Graphiti Memoria de agente que cambia en el tiempo
LightRAG, Neo4j GraphRAG y similares Variantes más ligeras o integradas en una base de grafos

Evalúa con preguntas reales de ambos tipos (puntuales y globales) y compara con un RAG bien ajustado antes de asumir el coste.

Criterios de implementación

Conservar procedencia y permisos por fuente. Evaluar precisión de las aristas, actualización y coste de extracción; un grafo erróneo también introduce contexto engañoso.

Continúa en las fuentes

Documentación oficial para verificar detalles y explorar más.