Услуга

Graph-RAG и графы знаний

Ваша RAG-система не находит ответы на вопросы, требующие связи информации из разных документов? Graph-RAG строит граф знаний из ваших данных: извлекает сущности и связи, группирует в иерархические сообщества, отвечает на сложные вопросы с multi-hop reasoning. Neo4j, LangChain GraphRAG, Microsoft GraphRAG — в вашем контуре.

  • Извлечение сущностей и связей из документов
  • Иерархические сообщества, Leiden-кластеризация
  • Multi-hop reasoning: от факта к цепочке причин
  • Neo4j, NetworkX, Microsoft GraphRAG — on-premise

Когда нужен Graph-RAG

Векторный поиск не справляется, когда вопрос требует связи разрозненной информации

Multi-hop вопросы

Векторный поиск извлекает похожие фрагменты, но не видит связей между ними. Graph-RAG проходит по графу: Entity A → связь → Entity B → связь → ответ. Пример: «Какие поставщики связаны с задержками, упомянутыми в жалобах клиентов?» — требует цепочки: жалоба → продукт → поставщик → контракт.

Глобальный анализ корпуса

Вопросы типа «Какие основные темы в 1000 документов?» или «Какие риски прослеживаются во всех отчётах за год?» — векторный поиск не агрегирует информацию по корпусу. Graph-RAG строит иерархию сообществ и генерирует сводки на каждом уровне — от конкретного документа до глобальной темы.

Юридический и compliance-анализ

Связь прецедентов с нормативными актами, поиск кросс-референсов между документами, выявление противоречий в политике компании. Граф знаний показывает связи, которые не видны при простом поиске по ключевым словам.

Анализ связей и зависимостей

Цепочки поставок, организационные структуры, dependencies в ИТ-инфраструктуре. Graph-RAG находит косвенные связи: «Как изменение в одном подразделении повлияет на другие?» — через граф зависимостей, а не через семантическое сходство.

Исследование и синтез

Медицинские исследования: симптомы → диагнозы → лечение. Финансовый анализ: компания → акционер → дочерняя структура → сделка. Graph-RAG связывает разрозненные факты в осмысленную картину.

Гибридный подход: векторы + граф

Graph-RAG не заменяет векторный поиск — дополняет его. Гибридная архитектура: векторы для точных совпадений и терминов, граф для multi-hop и глобального анализа. Векторы + граф = оптимальное покрытие всех типов запросов.

Как мы строим Graph-RAG

  1. 01

    Аудит данных и постановка задач

    Изучаем типы документов, структуру данных, целевые вопросы. Определяем, какие сущности извлекать (компании, люди, продукты, события, нормативные акты), какие связи важны для бизнеса. Выбираем подход: Microsoft GraphRAG (open-source), LangChain GraphRAG, или кастомный пайплайн.

  2. 02

    Извлечение сущностей и связей

    Разбиваем документы на текстовые единицы. LLM извлекает сущности (люди, организации, концепты), отношения (принадлежит, связан, влияет) и ключевые утверждения. Используем доменно-специфичные промпты. Для русского языка — Qwen 3.6, DeepSeek V4, GLM-5.1 с инструктивным fine-tuning.

  3. 03

    Построение графа и кластеризация

    Сущности становятся узлами, связи — рёбрами. Алгоритм Leiden иерархически группирует узлы в сообщества. Для каждого сообщества на каждом уровне генерируется LLM-сводка. Результат: иерархический граф от конкретных документов до глобальных тем.

  4. 04

    Настройка query-стратегий

    Настраиваем три режима поиска: Global Search (вопросы по всему корпусу через сводки сообществ), Local Search (вопросы по конкретной сущности с расширением до соседей), DRIFT Search (гибрид: глобальный primer + локальное уточнение). Для простых запросов — fallback на векторный поиск.

  5. 05

    Интеграция и пилот

    Разворачиваем графовую БД (Neo4j) в вашем контуре, настраиваем query-эндпоинты, интегрируем с существующей RAG-системой. Тестируем на реальных вопросах, сравниваем с векторным поиском. Передаём документацию и инструменты мониторинга.

Graph-RAG vs Vector RAG

Когда граф даёт преимущество, а когда — избыточен

КритерийVector RAGGraph-RAG
Тип вопросов Одношаговые, точные совпадения Многошаговые, синтез, глобальный анализ
Метрика Microsoft 50% правильных ответов 80% правильных ответов
Multi-hop reasoning Не работает Основное преимущество
Глобальный анализ Невозможно Иерархические сводки сообществ
Стоимость индексации Низкая Высокая (100–1000x vector RAG)
Стоимость запроса Низкая (~$0.002) Выше (~$0.012)
Задержка ~300 мс ~1200 мс
Лучший для Поиск по термину, точный ответ Связи, темы, причинно-следственные цепочки

Когда Graph-RAG не нужен

Если ваши вопросы одношаговые («Какой срок поставки по договору №247?», «Что такое X?») — векторный поиск с BM25 и reranking справится лучше и дешевле. Graph-RAG — для вопросов, требующих связи разрозненной информации: «Какие риски прослеживаются во всех отчётах?», «Как эта проблема связана с другими инцидентами?». Индексация Graph-RAG в 100–1000 раз дороже векторной — экономическая целесообразность определяется типом вопросов.

Технологический стек

Инструменты для построения графов знаний и Graph-RAG

Neo4j

Графовая БД №1 для enterprise. Cypher-запросы, нативная поддержка графовых алгоритмов (PageRank, community detection, shortest path). Neo4j Vector Index для гибридного поиска: векторы + граф в одной БД.

NetworkX

Python-библиотека для анализа графов. Алгоритмы кластеризации (Leiden, Louvain), centrality measures, community detection. Используется как промежуточный слой для анализа и визуализации графа знаний.

Microsoft GraphRAG

Open-source фреймворк от Microsoft Research. Автоматическое извлечение сущностей и связей, Leiden-кластеризация, иерархические сводки, Global/Local/DRIFT search. 29 800+ звёзд на GitHub. Работает с любой LLM: Qwen, DeepSeek, GLM.

LangChain GraphRAG

LangChain-интеграция для построения графов знаний. GraphCypherQAChain, LoadGraph, DocumentGraphTransformer. Подходит для кастомных пайплайнов с гибкой настройкой извлечения и query-стратегий.

LLM для извлечения

Qwen 3.6-27B, DeepSeek V4, GLM-5.1 — для извлечения сущностей и связей. Инструктивное дообучение на доменных данных повышает точность извлечения на 15–25%. Auto-tuning промптов (Microsoft GraphRAG v1.1+).

LazyGraphRAG

Оптимизация Microsoft GraphRAG: индексация за 0.1% стоимости полного GraphRAG. Компромисс: чуть ниже качество Global Search, но сопоставимо с полным GraphRAG при значительной экономии.

Техническая глубина Graph-RAG

Как устроен Graph-RAG

Graph-RAG — это не просто граф. Это структурированный, иерархический подход к RAG, который решает три проблемы векторного поиска:

Проблема 1: Одношаговое мышление. Vector RAG извлекает похожие фрагменты, но не видит связей. Graph-RAG проходит по графу: Entity A → связь → Entity B → связь → ответ. Для вопросов типа «Как изменение в подразделении X повлияет на подразделение Y?» — это единственный рабочий подход.

Проблема 2: Отсутствие глобальной структуры. Когда нужно понять общую картину — ключевые темы, основные действующие лица, повторяющиеся паттерны — векторный поиск даёт фрагменты, а не синтез. Graph-RAG строит иерархию сообществ и генерирует сводки на каждом уровне — от конкретного документа до глобальной темы.

Проблема 3: Потеря связей. Документы — это сеть связей: люди, места, организации, события, концепты. Векторные эмбеддинги сжимают всю эту структуру в одну точку в пространстве. Связи исчезают. Graph-RAG сохраняет структуру.

Пайплайн построения графа знаний

Шаг 1: Сегментация. Разбиваем corpus на TextUnits — абзацы или семантические блоки. Каждый TextUnit получает уникальный ID для последующих ссылок.

Шаг 2: Извлечение сущностей и связей. LLM анализирует каждый TextUnit и извлекает:

  • Сущности: люди, организации, концепты, события, нормативные акты
  • Отношения: «принадлежит», «связан», «влияет», «регулирует», «является частью»
  • Утверждения: ключевые факты, которые нужно запомнить

Для русского языка используем Qwen 3.6, DeepSeek V4 или GLM-5.1 с доменно-специфичными промптами. Auto-tuning промптов (Microsoft GraphRAG v1.1+) автоматически анализирует язык вашего датасета и генерирует оптимальные промпты.

Шаг 3: Построение графа. Сущности — узлы, отношения — рёбра. Рёбра имеют веса (частота связей). Алгоритм Leiden иерархически группирует узлы в сообщества:

  • Level 0: сырой граф
  • Level 1: тесно связанные узлы в сообщества
  • Level 2: сообщества объединяются в более крупные
  • И так далее, пока сообщества можно осмысленно разделить

Шаг 4: Сводки сообществ. Для каждого сообщества на каждом уровне LLM генерирует сводку: какие сущности, как связаны, какие темы и паттерны, какие документы подтверждают.

Шаг 5: Эмбеддинги. Генерируем эмбеддинги для описаний сущностей, сводок сообществ и текстовых единиц. Храним в векторном хранилище для семантического поиска.

Режимы поиска

Global Search — для вопросов по всему корпусу. Выбираем сводки сообществ с нужного уровня иерархии, генерируем частичные ответы, объединяем в комплексный ответ. Для вопросов типа «Какие основные темы в нашем корпусе документов?».

Local Search — для вопросов по конкретной сущности. Находим сущность в графе, расширяемся до соседей, извлекаем текстовые единицы, строим контекст из локального подграфа. Для вопросов типа «Что мы знаем о компании X?».

DRIFT Search — гибридный подход. Primer: сравниваем запрос со сводками сообществ, генерируем начальный ответ и follow-up вопросы. Follow-up: исполняем follow-up через Local Search. Итеративно уточняем. Для запросов, требующих и широты, и глубины.

Basic Search — fallback на стандартный векторный поиск (top-k vector search) для простых запросов.

Гибридная архитектура: векторы + граф

Graph-RAG не заменяет векторный поиск — дополняет его. Гибридная архитектура:

  • Векторы (dense + BM25) — для точных совпадений, терминов, конкретных фактов
  • Граф — для multi-hop, глобального анализа, связей
  • Reranking — cross-encoder (bge-reranker-v2) для финальной сортировки результатов из обоих источников
  • Query router — автоматически выбирает стратегию: vector-only, graph-only, или hybrid

Когда Graph-RAG не нужен

Если ваши вопросы одношаговые и требуют точного совпадения — векторный поиск с BM25 и reranking справится лучше и дешевле. Graph-RAG — для вопросов, требующих связи разрозненной информации. Индексация Graph-RAG в 100–1000 раз дороже векторной — экономическая целесообразность определяется типом вопросов.

Нужен Graph-RAG для ваших документов?

Опишите типы документов и вопросы, на которые система не отвечает — предложим архитектуру графа знаний и план пилота.