GraphRAG

Данные и MLЧастота употребления: средняя· Сложность: 4/5· Актуальность: 5/5· Тренд: растёт

GraphRAG — подход к Retrieval-Augmented Generation, при котором по корпусу документов с помощью LLM строится граф знаний, а ответы формируются по графу и его сообществам, а не только по векторному поиску.

Подробно

GraphRAG (Graph Retrieval-Augmented Generation) — это методика, предложенная Microsoft Research, в которой вместо плоского индекса эмбеддингов LLM извлекает из документов сущности и связи, строит граф знаний, кластеризует его на сообщества и генерирует для каждого сообщества текстовое резюме. На этапе запроса система комбинирует обход графа, поиск по резюме сообществ (global search) и поиск по конкретным сущностям и текстовым чанкам (local search), что позволяет отвечать на «обзорные» вопросы вида «какие основные темы освещает корпус?» — там, где классический vector RAG фрагментирует контекст и отвечает неполно. Подход применяется в корпоративном поиске по большим массивам документов, анализе новостей, юридических и медицинских архивах, а также как основа для агентов с долговременной памятью. Основные ограничения — высокая стоимость индексации (много LLM-вызовов на построение графа и резюме) и сложность инкрементального обновления графа. Реализации: open-source пакет microsoft/graphrag, а также Neo4j GraphRAG, LlamaIndex PropertyGraphIndex и LangChain-обвязки над графовыми БД.

Примеры употребления

  • pip install graphrag && graphrag init --root ./ragtest, затем правка settings.yaml и promt-файлов
  • graphrag index --root ./ragtest — построение графа, сообществ и community reports
  • graphrag query --root ./ragtest --method global --query "Какие основные темы в корпусе?"
  • В Neo4j GraphRAG: from neo4j_graphrag.retrieval import VectorCypherRetriever для гибридного поиска по графу и векторам
#RAG #LLM #граф знаний #поиск по документам

Источники