Суть
Обычный RAG ищет похожие фрагменты независимо — он не «видит» связи между фактами из разных документов. GraphRAG извлекает из документов сущности и отношения, строит граф, и отвечает, проходя по связям (multi-hop).
Зачем это нужно
Векторный поиск отвечает на локальные вопросы («что сказано про вклад X»), но проваливает глобальные и составные: чтобы связать факт из документа A с фактом из документа D, нужен явный граф связей, а не топ-K похожих чанков.
Как работает
- Индексация: LLM извлекает сущности + связи → строится Knowledge Graph (отдельная структура поверх/вместо векторного индекса).
- Запрос: обход графа по связям вместо поиска ближайших соседей; Comprehensiveness на global-вопросах +72-83%.
- Цена: граф — это отдельная база поверх векторной, формируется дополнительно → стоимость памяти/индексации примерно ×2. Поэтому только для multi-hop / global, не для простых запросов.
- Семейство графовых/иерархических техник:
- NodeRAG (HF Papers 2025) — гетерогенный граф, превосходит GraphRAG и LightRAG по скорости индексации, времени запроса и качеству multi-hop QA.
- RAPTOR — иерархическая кластеризация + суммаризация документов для вопросов верхнего уровня (долгая обработка, плохо масштабируется).
- TreeRAG (ACL 2025, RAGFlow) — двухуровневый Search (точный recall) + Retrieve (сборка контекста через дерево).
- Коробочно доступен в RAGFlow и Dify без ручной реализации.
Пример
Ключевой шаг индексации, отличающий GraphRAG от векторного RAG: LLM извлекает из текста сущности и связи, из которых строится граф знаний (здесь — упрощённо, для полного GraphRAG нужен Neo4j).
def extract_entities(text, title):
prompt = f'''Извлеки сущности и их связи. Формат JSON:
[{{"entity": "название", "type": "тип", "relations": ["связанная_сущность"]}}]
Текст ({title}): {text[:400]}
JSON:'''
raw = llm.invoke(prompt).content.strip()
return json.loads(raw) # -> узлы и рёбра графа знаний
Связано с
- RAG — GraphRAG = архитектура retrieval для связанных данных
- Chunking — альтернатива «нарезке на чанки» для глобальных вопросов
- Agentic RAG — обе техники из «Enterprise»-фазы дорожной карты RAG
Открытые вопросы
- окупается ли ×2 стоимость графа на реальном корпусе среднего размера
- GraphRAG vs NodeRAG на практике (скорость индексации / качество)