AI-инжиниринг

GraphRAG: граф знаний вместо векторного поиска

Цели урока

  • Понять где ломается векторный RAG и какой класс задач требует графа
  • Разобраться как Microsoft GraphRAG строит граф: entity extraction, Leiden, community summaries
  • Сравнить LightRAG и HippoRAG с полным GraphRAG по trade-off
  • Построить гибридную архитектуру с маршрутизацией запросов между vector и graph

Корпус из 10 000 документов, 50 000 сущностей, 200 000 отношений. Вопрос: 'Какие сотрудники компании X работали над проектами, упомянутыми в контракте Y?' Naive RAG находит чанки о компании X и чанки о контракте Y. Связи нет. LLM галлюцинирует. Microsoft GraphRAG даёт точный ответ через граф - за 3 секунды. Это edge case? Нет. 40% вопросов в enterprise Q&A системах требуют multi-hop рассуждения.

  • Microsoft использует GraphRAG внутри для анализа корпоративной документации и M&A due diligence
  • Notion AI интегрировал граф сущностей для cross-page linking - находит связи между заметками
  • Neo4j + GraphRAG - production паттерн для pharma (связи между молекулами, болезнями, исследованиями)
  • LightRAG набрал 10K+ GitHub звёзд за 3 месяца (2024) - самый быстрорастущий RAG-фреймворк

От Knowledge Graphs к GraphRAG

**2012 - Google Knowledge Graph**: первый крупный граф знаний в продакшне, панели знаний в поиске. **2019 - KGQA (Knowledge Graph Question Answering)**: академические работы по ответам на вопросы через граф, но без LLM. **2023 - G-RAG, KG-RAG**: первые попытки соединить LLM с графом для RAG. **Февраль 2024 - Microsoft GraphRAG paper** (Edge et al.): полная система entity extraction -> Leiden community detection -> hierarchical summaries -> global/local search. **Сентябрь 2024 - LightRAG** (Guo et al.): более лёгкая альтернатива с dual-level retrieval и инкрементальным индексированием. **Ноябрь 2024 - HippoRAG v2**: Personalized PageRank на графе сущностей как замена exhaustive traversal.

Предварительные знания

  • Advanced RAG: hybrid search, re-ranking, query expansion, self-RAG
  • Knowledge Graphs + LLM: GraphRAG, structured knowledge, Neo4j + embeddings

Где ломается обычный RAG

Векторный поиск находит семантически похожие фрагменты. Это работает когда вопрос и ответ находятся в одном тексте. Но реальные вопросы часто требуют связей между разными документами - и вектор это не умеет.

Тип вопросаПроблема RAGПример
Multi-hopОтвет требует нескольких шагов рассуждения через разные документы'Кто руководил командой, которая написала протокол X, упомянутый в контракте Y?'
Global summaryНет одного чанка с нужным обобщением'Какие основные темы обсуждались на всех встречах за Q3?'
Relationship queryБлизость векторов не равна наличию связи'Какие компании конкурировали за контракт Z?'
Entity-centricИнформация о сущности разбросана по документам'Перечисли все проекты, где участвовал Алексей Иванов'

Vector search находит **похожий текст**. Граф знаний хранит **связанные факты**. Это принципиально разные структуры. Поиск по документу 'Алексей работал в Microsoft' и по другому документу 'Microsoft купила GitHub' даёт два несвязанных чанка. Граф сразу показывает путь: Алексей -> работал в -> Microsoft -> купила -> GitHub.

Edge et al. (Microsoft Research, 2024) показали: на вопросах типа 'global sensemaking' (обобщение по всему корпусу) GraphRAG превосходит naive RAG на 40-60% по comprehensiveness и diversity оценок. На точечных фактических вопросах разница меньше - vector RAG достаточен.

Почему векторный RAG не справляется с multi-hop вопросами?

GraphRAG: извлечение сущностей и построение графа

Microsoft GraphRAG (Edge et al., 2024) - двухфазный процесс. Фаза индексирования: LLM читает весь корпус, извлекает сущности и отношения, строит граф, применяет community detection. Фаза запроса: маршрутизирует вопрос через граф к релевантным сообществам.

**Фаза 1 - Индексирование** (дорогая, однократная):

**Leiden algorithm** - улучшенный Louvain, оптимизирует modularity. Находит иерархические сообщества: крупные (весь технологический сектор) -> средние (ML-компании) -> мелкие (команда конкретного продукта). Это позволяет GraphRAG отвечать как на локальные, так и на глобальные вопросы.

Индексирование GraphRAG дорогое. На 1 миллионе токенов документов: 3-5 проходов LLM по всему корпусу = примерно USD 5-15 на gpt-4o-mini. Для корпуса 100M токенов - USD 500-1500 только на индексирование. GraphRAG оправдан для стабильных корпусов с редкими обновлениями.

Зачем GraphRAG применяет Community Detection (Leiden algorithm) после построения графа?

LightRAG и HippoRAG: более лёгкие альтернативы

Microsoft GraphRAG - функциональный, но тяжёлый. Community detection + иерархические summary требуют полного переиндексирования при добавлении документов. LightRAG и HippoRAG предлагают другие trade-off.

LightRAG (Guo et al., 2024)

**Dual-level retrieval**: низкоуровневый (конкретные сущности) + высокоуровневый (абстрактные понятия). Граф строится инкрементально - новые документы добавляются без полного переиндексирования. Retrieval через граф + vector search одновременно.

HippoRAG (Gutierrez et al., 2024)

Вдохновлён моделью памяти гиппокампа. **Два компонента**: Parahippocampal Cortex (PHC) - кодирование документов через named entity extraction; Hippocampal Indexing Theory - граф связей между именованными сущностями с Personalized PageRank для multi-hop traversal.

СистемаИндексированиеИнкрементальное добавлениеMulti-hopСтоимость
Microsoft GraphRAGПолный LLM-проход по корпусуПолное переиндексированиеОтличное (community summaries)Высокая
LightRAGLLM entity extractionИнкрементальноеХорошее (dual-level)Средняя
HippoRAGNER + граф сущностейБыстрое добавлениеХорошее (PageRank)Низкая
Naive RAGТолько embeddingМгновенноеПлохоеМинимальная

Главное практическое преимущество LightRAG перед Microsoft GraphRAG - это...

Когда граф, когда вектор, когда гибрид

GraphRAG не замена RAG. Это специализированный инструмент для специализированных задач. Production-архитектура часто использует оба подхода параллельно - маршрутизируя запрос к нужному движку.

Для старта: LightRAG как первая Graph RAG система. Легче установки, инкрементальное добавление, decent качество. Microsoft GraphRAG - когда корпус стабилен (не меняется чаще раза в неделю) и нужны глобальные summary по всему корпусу.

Запрос 'Какие темы обсуждались на всех встречах за Q3?' - какой подход подойдёт лучше?

GraphRAG заменяет vector RAG - лучше всегда строить граф

GraphRAG дополняет vector RAG для специфических задач; для большинства вопросов vector RAG достаточен и дешевле

Индексирование GraphRAG стоит в 10-100 раз дороже embedding. Для простых factual Q&A это переусложнение. 80% вопросов в типичном корпоративном чатботе - точечные факты, где vector RAG работает отлично.

GraphRAG быстрее обычного RAG - граф быстро обходится

GraphRAG медленнее при запросе: обход графа + генерация summary сообществ + несколько LLM-вызовов

Global search GraphRAG делает map-reduce: для каждого community summary отдельный LLM-вызов, потом финальный reduce. Это может быть 10-50 LLM-вызовов на один пользовательский запрос. Latency 5-30 секунд, стоимость USD 0.01-0.10 за запрос.

Итоги

  • Vector RAG ломается на multi-hop, global summary и relationship queries - 40% enterprise вопросов
  • GraphRAG строит граф: entity extraction -> Leiden community detection -> hierarchical summaries
  • Microsoft GraphRAG: лучшее качество на глобальных вопросах, дорогое индексирование, нет инкрементального обновления
  • LightRAG: dual-level retrieval, инкрементальное добавление - лучший старт для production
  • Гибридная архитектура: маршрутизировать запросы между vector и graph по типу вопроса

Вопросы для размышления

  • Какие вопросы пользователи задают в текущем проекте - преимущественно точечные факты или вопросы про отношения?
  • Если корпус обновляется ежедневно, что это означает для выбора между GraphRAG и LightRAG?
  • Индексирование GraphRAG на 1M токенов стоит около USD 10. При каком объёме это оправдано?

Связанные темы

GraphRAG строит граф поверх документов. Knowledge Graphs - более широкая тема структурированных знаний.

  • Knowledge Graphs — Теоретическая основа: как устроены графы знаний и ontology
  • Advanced RAG — GraphRAG расширяет Advanced RAG для relational queries
  • AI System Design — Как интегрировать GraphRAG в production архитектуру

Связанные уроки

  • aie-13-advanced-rag
  • aie-41-knowledge-graphs
  • aie-12-rag-fundamentals
  • aie-47-autonomous-agents
  • aie-42-ai-system-design
GraphRAG: граф знаний вместо векторного поиска

0

1

Войти