Graph RAG
Graph RAG (Graph Retrieval-Augmented Generation) — это подход к генерации ответов языковой моделью, при котором поиск релевантных данных выполняется не по плоскому векторному индексу, а по графу знаний. Узлы графа — сущности (люди, компании, товары, события), рёбра — связи между ними с типами («работает в», «купил», «входит в»). При запросе система находит стартовые узлы, обходит граф на 1–3 шага и передаёт модели не разрозненные чанки, а связный подграф с контекстом отношений. Это устраняет главную слабость классического RAG: он видит похожие фрагменты текста, но не понимает, как факты связаны между собой.
Как это работает на практике
- Индексация: документы разбиваются на чанки, из них извлекаются сущности и отношения (через NER и LLM-экстракторы), строится граф.
- Запрос: вопрос пользователя преобразуется в набор сущностей и типов связей.
- Поиск: система находит узлы-кандидаты и обходит граф, собирая подграф релевантных фактов.
- Генерация: подграф сериализуется в текст и подаётся модели вместе с вопросом.
Например, на вопрос «какие поставщики обслуживают завод в Казани» обычный RAG вернёт абзацы, где встречаются слова «завод» и «Казань», а Graph RAG пройдёт по рёбрам «завод → поставщик → контракт» и выдаст точный список. Для проектов с плотной структурой данных это критично, поэтому семантика и разметка сущностей становятся частью подготовки контента.
Где Graph RAG даёт преимущество
- Многошаговые вопросы: «кто из партнёров компании работал с её бывшим директором» — нужен обход двух-трёх связей.
- Корпоративные базы знаний: регламенты, договоры, оргструктура — связи важнее похожести текста.
- Медицина и право: цепочки «препарат → противопоказание → диагноз» требуют точных рёбер, а не векторной близости.
- Аналитика рынка: граф «компания → инвестор → стартап → технология» помогает строить ответы о цепочках поставок.
Стоимость внедрения выше: нужна схема графа, пайплайн извлечения сущностей и поддержка актуальности связей. Зато точность на вопросах с отношениями вырастает в разы — в бенчмарках Microsoft GraphRAG прирост по полноте ответов достигал 70–80% против baseline. Если сайт или база знаний должны отвечать на сложные запросы, разумно сочетать граф с оптимизацией сайта и выверенной структурой страниц, чтобы сущности извлекались корректно.
Ограничения и типичные ошибки
- Граф быстро устаревает: без регулярного обновления рёбра теряют актуальность.
- Ошибки извлечения сущностей множатся: один неверный узел ломает целую цепочку ответов.
- Обход графа дорог по токенам: подграф легко разрастается и переполняет контекст модели.
- Для простых фактовых вопросов Graph RAG избыточен — классический векторный поиск дешевле и быстрее.
Graph RAG — не замена обычному RAG, а надстройка для сценариев, где важны связи, а не отдельные фрагменты. Чтобы внедрение окупилось, стоит заранее спроектировать схему сущностей и продумать, как контент будет попадать в граф. Смежные темы: RAG, граф знаний, векторный поиск, LLM.
