GraphRAG (Microsoft 2024)(グラフラグマイクロソフト2024)
Microsoft 2024年 RAG 改良手法。LLM でドキュメント群を知識グラフ化→グラフ走査でグローバル理解クエリ対応
概要
GraphRAG は 2024年4月24日に Microsoft Research の Darren Edge・Ha Trinh・Newman Cheng・Joshua Bradley・Alex Chao・Apurva Mody・Steven Truitt・Jonathan Larson ら 8名が arXiv:2404.16130 で発表した RAG 改良手法(論文「From Local to Global: A Graph RAG Approach to Query-Focused Summarization」)。
従来 RAG(ベクトル検索ベース)は「特定の事実」抽出には強いが、「全体傾向・主要テーマ・登場人物関係」のようなグローバル理解クエリには弱い課題があった(例「このドキュメント群全体で議論された主要技術トレンドは?」)。GraphRAG はLLM でドキュメント群から エンティティ + 関係性を抽出して知識グラフ構築 → グラフコミュニティ検出 → コミュニティごとのサマリ生成 → クエリ時にグラフ走査で関連コミュニティ抽出という階層的アプローチを採用。
論文公開と同時に GitHub: microsoft/graphrag で OSS 公開(2024-07-02 メジャー版 1.0、MIT ライセンス)、Azure OpenAI と組合せて利用するエンタープライズ向け実装が標準。書籍・契約書・社内文書群等の大規模コーパスで「全体俯瞰」型 QA を可能にする画期的手法。
主な特徴・仕組み
- ドキュメント解析: LLM (GPT-4) でテキストから エンティティ + 関係性 + 主張を抽出
- 知識グラフ構築: NetworkX / Neo4j 等でグラフ化、ノード = エンティティ、エッジ = 関係
- コミュニティ検出: Leiden アルゴリズム(Traag 2019)で階層的コミュニティ抽出
- コミュニティサマリ: 各コミュニティの主要内容を LLM で要約(階層的、複数粒度)
- 2 種クエリモード: Global(全体傾向、コミュニティサマリ走査)/ Local(特定事実、エンティティ近傍探索)
- インデックス構築コスト: ドキュメント 1MB あたり GPT-4 API $5-15 + 数時間処理
- 検索コスト: クエリ 1回あたり $0.05-0.20(GPT-4 ベース)
- 対応データ: テキスト中心、PDF / Word / Markdown 等を Azure Document Intelligence で前処理
- 言語: 英語最適化、日本語は GPT-4o で実用可(精度若干低下)
- OS バージョン: GraphRAG 1.0 (2024-07-02)・1.2 (2024-12 アップデート)
スペック比較表
| 項目 | GraphRAG (2024) | 標準 RAG | LightRAG (2024) | CRAG (2024) |
|---|---|---|---|---|
| 知識グラフ | あり | なし | あり | なし |
| Global クエリ対応 | あり | 弱い | あり | 弱い |
| Local クエリ対応 | あり | 強い | あり | 強い |
| インデックス構築 | 高コスト | 低コスト | 中コスト | 低コスト |
| 検索レイテンシ | 中 | 低 | 低 | 中 |
| OSS ライセンス | MIT | - | MIT | - |
| 採用例 | Microsoft 公式 | 全般 | HKU 大学 | LangChain |
具体例・対応製品
- microsoft/graphrag (GitHub 2024-07): 公式 OSS 実装、Python ライブラリ
- Azure GraphRAG (2024-12): Azure OpenAI 統合エンタープライズ版
- GraphRAG Accelerator (Microsoft 2024-08): GUI フロントエンド、AKS デプロイ
- Neo4j GraphRAG Python (2024-10): Neo4j 公式 GraphRAG ライブラリ
- LlamaIndex Knowledge Graph (2024-05): 簡易版 GraphRAG 実装
選び方・注意点
- コスト試算重要: 100MB 文書群のインデックス構築で $500-1500 GPT-4 API 料金、Azure 推奨
- Global vs Local: 「主要テーマは?」→ Global、「特定の人物は?」→ Local で使い分け
- GPT-4 / GPT-4o 必須: GPT-3.5 ではエンティティ抽出精度低、Claude 3.5 Sonnet も実用可
- 更新コスト: 文書更新時はインデックス再構築コスト発生、増分更新は v1.1 から対応
- 可視化推奨: Gephi / Neo4j Browser でグラフ可視化、検索結果の解釈性向上
- 多言語: 公式サポートは英語、日本語は GPT-4o で実用可だが精度若干低下
- 代替: 軽量化重視なら LightRAG (HKU 2024)、簡易実装なら LlamaIndex KnowledgeGraph
関連用語との違い
| 用語 | 違い |
|---|---|
| GraphRAG (Microsoft 2024) | 完全グラフ + コミュニティ検出・高コスト |
| HyDE (2022) | 仮想ドキュメント生成・標準 RAG 拡張 |
| Self-RAG (2023) | 動的検索判断 + 自己評価 |
| CRAG (2024) | 検索結果評価 + Web フォールバック |
| LightRAG (2024) | グラフ + ベクトル軽量版・低コスト |
よくある質問(FAQ)
Q1: GraphRAG が真価を発揮するシナリオは? A: (1) 大規模文書群(100MB-数 GB)の俯瞰 (2) 「主要テーマ・登場人物関係・時系列変化」等のグローバル質問 (3) 学術論文集・契約書群・社内ポリシー文書等の構造化。逆に小規模 FAQ・特定事実検索には過剰スペック。
Q2: コストはどれくらい? A: インデックス構築(1回)が圧倒的に高く、100MB 文書群で $500-1500(GPT-4)。検索は 1 クエリ $0.05-0.20。月 10000 クエリ運用で月 $500-2000、Azure OpenAI 専用契約推奨。GPT-4o 採用で 50% コスト削減可。
Q3: Leiden コミュニティ検出とは? A: Vincent Traag(2019)が発表したグラフコミュニティ検出アルゴリズム(前身 Louvain 2008 の改良版)。グラフから「強く結合したノード集合」を階層的に抽出、GraphRAG はこのコミュニティ単位でサマリを生成する。Modularity 最大化が基本原理。
まとめ
- Microsoft 2024年4月発表・RAG 改良手法
- LLM で知識グラフ構築 + Leiden コミュニティ検出
- Global / Local 2 種クエリで全体俯瞰・特定検索両対応
- GitHub OSS 公開 + Azure 統合エンタープライズ版
- 大規模文書群の俯瞰型 QA を可能にする画期的手法