GraphRAG
GraphRAG — это усовершенствованная парадигма Retrieval-Augmented Generation (RAG), в которой вместо традиционного поиска по разрозненным текстовым фрагментам (чанкам) используется знаниевый граф (Knowledge Graph, KG)[1]. Графовая структура явно представляет связи между сущностями и иерархию доменных понятий, что позволяет LLM выполнять многошаговое логическое извлечение знаний и формировать более контекстно‑осведомлённые и объяснимые ответы[2].
Подход GraphRAG демонстрирует значительное преимущество перед классическим RAG при работе со сложными, многошаговыми (multi‑hop) запросами, где ответ зависит от комбинации нескольких фактов, разбросанных по разным документам[3].
Ограничения классического RAG и преимущества графа
Классический RAG, основанный на векторном поиске по неструктурированному тексту, сталкивается с рядом фундаментальных ограничений, которые становятся критичными в сложных корпоративных сценариях:
- Отсутствие структурных связей: Традиционный RAG обрабатывает текстовые чанки как изолированные единицы и не видит явных связей между ними. Это делает его неэффективным для multi‑hop запросов, где для ответа необходимо пройти по цепочке фактов (A→B→C), а поиск находит только начальное и конечное звенья (A и C), упуская промежуточные[1].
- Семантическая неоднозначность: В узкоспециализированных областях (медицина, юриспруденция, инженерия) термины имеют специфические значения. Векторный поиск, улавливая общую тему, может неверно интерпретировать роль конкретного объекта, что приводит к извлечению нерелевантного контекста.
- Ограниченная объяснимость: Классический RAG предоставляет фрагменты документов, но не явные доказательства того, как эти фрагменты связаны в логическую цепочку. GraphRAG, напротив, делает этот процесс прозрачным, предоставляя в качестве доказательства путь в графе и требуя привязки утверждений к источникам (цитирование)[4].
GraphRAG решает эти проблемы, представляя знания в виде сети связанных сущностей и отношений, что позволяет системе не просто находить похожий текст, а выполнять логический вывод на основе формализованной модели предметной области.
Архитектура GraphRAG
Общий конвейер GraphRAG расширяет классический RAG, добавляя этапы построения и использования графа знаний. Он делится на два основных этапа: оффлайн‑подготовка и онлайн‑обработка запроса.
Этап 1: Ингест и индексация (оффлайн)
На этом этапе исходные данные (документы, базы данных) преобразуются в два взаимодополняющих представления: графовое и векторное.
- Экстракция знаний: Из текстов извлекаются структурированные факты с помощью NLP‑конвейера:
- Named Entity Recognition (NER): Нахождение упоминаний сущностей (людей, организаций, продуктов).
- Entity Linking (EL): Связывание упоминаний с каноническими идентификаторами в графе для устранения неоднозначности (например, «Иванов И.И.» и «И. Иванов» становятся одним узлом)[5].
- Relation Extraction (RE): Выявление отношений между сущностями (например, Компания X −приобрела→ Стартап Y).
- Моделирование и хранение графа: Извлечённые тройки (субъект‑предикат‑объект) загружаются в графовую базу данных. Выбор модели (Property Graph или RDF) зависит от задачи. Критически важно хранить происхождение (provenance) каждого факта — ссылку на исходный документ и текстовый фрагмент[3]. В граф также могут быть добавлены метаданные о времени (valid_from/valid_to) и достоверности (confidence).
- Гибридная индексация: Параллельно с графом создаётся векторный индекс для исходных текстовых фрагментов. Это позволяет сочетать структурный поиск по графу с семантическим поиском по тексту.
Этап 2: Обработка запроса и генерация ответа (онлайн)
- Разбор запроса: Пользовательский запрос анализируется для выделения ключевых сущностей, которые служат «точками входа» в граф.
- Извлечение подграфа: Вместо поиска отдельных чанков GraphRAG находит релевантный подграф — связанный фрагмент графа вокруг «точек входа», содержащий информацию для ответа. Для этого используются алгоритмы, такие как k‑hop обход или Personalized PageRank (PPR)[6].
- Гибридный поиск и слияние результатов: Параллельно с извлечением подграфа выполняется поиск по векторному и/или лексическому (BM25) индексу. Результаты из графа и текста объединяются и передаются на следующий этап.
- Переранжирование (Re‑ranking): Объединённый список кандидатов (узлы графа и текстовые чанки) переранжируется с помощью более точной модели (например, кросс‑энкодер) для отбора наиболее релевантной информации. Это позволяет отфильтровать шум и повысить точность[7].
- Упаковка контекста и генерация: Отобранный и отранжированный контекст (подграф и тексты) преобразуется в понятный для LLM формат (например, список утверждений с указанием источников). Этот обогащённый контекст подаётся в промпт для генерации финального ответа.
- Трассировка и цитирование: Благодаря связи «факт ↔ источник» в графе, сгенерированный ответ содержит точные ссылки на документы, подтверждающие каждый тезис. Это обеспечивает высокую обоснованность и прозрачность.
Сравнительная таблица компонентов
| Компонент/аспект | Варианты реализации | Плюсы | Минусы/риски | Когда предпочтительно |
|---|---|---|---|---|
| Модель графа знаний | RDF/OWL | Строгая онтология, логические выводы (reasoning), совместимость с Linked Open Data. | Сложно хранить атрибуты отношений (время, источник) без доп. сущностей (reification). | Семантически богатые домены с существующими онтологиями; требуется дедукция. |
| Property Graph (Neo4j, etc.) | Гибкость, произвольные свойства на узлах/рёбрах, высокая производительность. | Требует чёткой схемы вручную или риск «беспорядка»; нет единого стандарта. | Быстрый старт с неструктурированными данными; интеграция с документами (multi‑model DB). | |
| Извлечение подграфа | k‑hop BFS / DFS | Покрывает все узлы до глубины k, прост в реализации. | «Взрыв» графа: лавинный рост числа узлов; может вернуть много шума. | Маленькие графы или обход на глубину 1–2; иерархические структуры. |
| Personalized PageRank (PPR) | Фокусируется на действительно связанных узлах, шум отсеивается[6]. | Может пропустить дальний, но важный узел (если мало путей, но он критичен). | Сложные сети с множеством путей (социальный граф, граф цитирований). | |
| Гибридный поиск | Комбинированный список (scalar fusion с весом λ) | Настройка весов λ позволяет балансировать precision/recall под задачу[8]. | Фиксированный λ не оптимален для всех типов запросов. | На этапе прототипирования; когда известно, что один источник заведомо важнее. |
| Cross‑encoder rerank | Существенный прирост точности; возможность учитывать сложные взаимосвязи. | Увеличивает задержку; требует данных для обучения или использования готовых моделей[7]. | High‑precision сценарии (юриспруденция, медицина), где важен максимально релевантный контекст. | |
| Безопасность данных | Фильтрация подграфа (RBAC/ABAC) | Гранулярный контроль (до уровня узла) исключает утечки. | «Глухие зоны»: если вырезан важный узел, ответ может стать неполным. | В корпоративных средах со строгими требованиями к доступу (PII, GDPR, trade secrets). |
Трассировка, доверие и безопасность
Одно из главных преимуществ GraphRAG — возможность представить прозрачные цепочки доказательств. Вместо ответа «чёрного ящика», система может показать путь рассуждения: «Факт A упомянут в [doc1]. Он связан с фактом B [doc2], а B согласно [doc3] приводит к C», — что повышает доверие пользователя и упрощает отладку.
Кроме того, графовая структура позволяет реализовать гранулярное управление доступом (RBAC/ABAC). У каждого узла или ребра в графе может быть метка доступа. При извлечении подграфа система автоматически отфильтровывает данные, к которым у пользователя нет прав, обеспечивая безопасность в чувствительных сферах (финансы, HR, медицина).
Оценка качества
Оценка GraphRAG‑системы является многоэтапной и включает метрики для каждого компонента:
- Метрики извлечения знаний: F1‑score для NER и RE, чтобы оценить качество построения графа.
- Метрики извлечения подграфа: Subgraph Recall@K (доля случаев, когда нужные для ответа узлы/рёбра попали в извлечённый подграф) и Path Precision/Recall для multi‑hop вопросов.
- Метрики ответа LLM:
- Faithfulness / Groundedness: насколько ответ строго опирается на предоставленный контекст.
- Human evaluation: оценка экспертами по критериям правильности, полноты и связности.
Для автоматизации оценки используются специализированные бенчмарки (например, WebQuestionsSP, GrailQA) и фреймворки (например, RAGAS)[9].
См. также
- Retrieval‑Augmented Generation (RAG)
- Векторные базы данных
- Embedding
- AI-агент
- RAG-паттерны
- Большие языковые модели
Литература
- Zhang, Q. et al. (2025). A Survey of Graph Retrieval‑Augmented Generation for Customized Large Language Models. arXiv:2501.13958.
- Xu, Z. et al. (2024). Retrieval‑Augmented Generation with Knowledge Graphs for Customer Service Question Answering. arXiv:2404.17723.
- Hu, Y. et al. (2024). GRAG: Graph Retrieval‑Augmented Generation. arXiv:2405.16506.
- Nakano, R. et al. (2021). WebGPT: Browser‑assisted Question‑Answering with Human Feedback. arXiv:2112.09332.
- Yang, R. et al. (2025). KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv:2503.14234.
- Song, Y. et al. (2023). Advancements in Complex Knowledge Graph Question Answering: A Survey. DOI:10.3390/electronics12214395.
- Nogueira, R.; Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
- Hsu, H.‑L.; Tzeng, J. (2025). DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv:2503.23013.
- Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. arXiv:2005.11401.
- Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain Question Answering. arXiv:2004.04906.
- Sun, H. et al. (2018). Open‑Domain Question Answering Using Early Fusion of Knowledge Bases and Text (GRAFT‑Net). arXiv:1809.00782.
- Sun, H.; Bedrax‑Weiss, T.; Cohen, W. W. (2019). PullNet: Open‑Domain Question Answering with Iterative Retrieval on Knowledge Bases and Text. arXiv:1904.09537.
- He, X. et al. (2024). G‑Retriever: Retrieval‑Augmented Generation for Textual Graph Understanding and Question Answering. arXiv:2402.07630.
- Es, S.; James, J.; Espinosa‑Anke, L.; Schockaert, S. (2024). RAGAs: Automated Evaluation of Retrieval Augmented Generation. ACL:2024.eacl-demo.16.
Примечания
- ↑ 1,0 1,1 Zhang, Q., et al. A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models. arXiv, 2025. arXiv:2501.13958.
- ↑ Xu, Z., et al. Retrieval-Augmented Generation with Knowledge Graphs for Customer Service Question Answering. SIGIR, 2024. arXiv:2404.17723; DOI: 10.1145/3626772.3661370.
- ↑ 3,0 3,1 Hu, Y., et al. GRAG: Graph Retrieval‑Augmented Generation. arXiv, 2024. arXiv:2405.16506; также в Findings of NAACL 2025: ACL Anthology.
- ↑ Nakano, R., et al. WebGPT: Browser‑assisted question‑answering with human feedback. arXiv, 2021. arXiv:2112.09332.
- ↑ Yang, R., et al. KG‑IRAG: A Knowledge Graph‑Based Iterative Retrieval‑Augmented Generation Framework for Temporal Reasoning. arXiv, 2025. arXiv:2503.14234.
- ↑ 6,0 6,1 Song, Y., Li, W., Dai, G., Shang, X. Advancements in Complex Knowledge Graph Question Answering: A Survey. Electronics, 2023. DOI: 10.3390/electronics12214395.
- ↑ 7,0 7,1 Nogueira, R., Cho, K. Passage Re‑ranking with BERT. arXiv, 2019. arXiv:1901.04085.
- ↑ Hsu, H.‑L.; Tzeng, J. DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval‑Augmented Generation. arXiv, 2025. arXiv:2503.23013.
- ↑ Es, S.; James, J.; Espinosa Anke, L.; Schockaert, S. RAGAs: Automated Evaluation of Retrieval Augmented Generation. EACL (System Demonstrations), 2024. ACL:2024.eacl-demo.16; также preprint: arXiv:2309.15217.