RAG vs GraphRAG
RAGは質問に関連する文書の断片をベクトル検索などで取得し、プロンプトに含めてLLMに回答させる手法。GraphRAGはRAGの発展形で、あらかじめ文書群からエンティティと関係を抽出してナレッジグラフを構築し、グラフとコミュニティ要約を介して検索・生成する。特定の事実を尋ねる質問には通常のRAG、文書全体を俯瞰する質問や複数文書にまたがる関係を問う質問にはGraphRAGが向く。
3行で違いを説明
Comparison Table
| Item | RAG | GraphRAG |
|---|---|---|
| Purpose | 外部知識に基づく回答の根拠づけ・最新化 | 文書全体を俯瞰する質問や、複数文書にまたがる関係を踏まえた回答 |
| Developer | 手法(Lewisらが提案) | Microsoft Research |
| Release | 2020年(論文発表) | 2024年(論文・オープンソース実装公開) |
| Open Source | 実装(LangChain・Haystack等)はオープンソースのものが多い | Microsoftがオープンソース実装(microsoft/graphrag)を公開 |
| 中心概念 | チャンクと埋め込みベクトル | エンティティ・関係のナレッジグラフとコミュニティ要約 |
Architecture
Feature Comparison
| Feature | RAG | GraphRAG |
|---|---|---|
| 特定の事実を尋ねる質問 | ○ | ○ |
| 文書全体を俯瞰する質問 | — | ○ |
| インデックス構築時のLLM呼び出し | 不要(埋め込み生成のみ) | 必要(エンティティ・関係抽出と要約) |
| 文書追加時の更新コスト | 小さい | 大きい |
Advantages
RAG
- 構成が比較的単純で、構築・運用の知見やツールが豊富
- 文書の追加・更新が容易で、知識を最新化しやすい
- 特定の事実を尋ねる質問に強い
GraphRAG
- 複数の文書にまたがる関係性を踏まえた回答ができる
- コミュニティ要約により、文書全体を俯瞰する質問に対応しやすい
Disadvantages
RAG
- 質問に近いチャンクを個別に取り出すため、文書全体の要約や俯瞰的な質問に弱い
- 検索精度が回答品質全体のボトルネックになる
GraphRAG
- インデックス構築時にLLMでの抽出・要約が必要で、コストと時間がかかる
- 文書の追加・更新時にグラフや要約の再構築が必要になる
- エンティティ・関係の抽出精度が結果に影響する
Best Use Cases
RAG
社内規程やマニュアルなど、特定の事実や手順を調べる質問が中心のチャットボット・ドキュメント検索。
GraphRAG
大量の報告書・議事録・調査資料などから、全体の傾向や主要テーマ、組織や人物の関係を把握したい分析用途。
Migration
GraphRAGは通常のRAGを置き換えるものではなく、俯瞰的な質問への対応が必要な場合に追加する選択肢となる。まずベクトル検索型のRAGで要件を満たせるか確認し、文書をまたぐ質問で精度が不足する場合にGraphRAGの導入を検討するとよい。両者を併用し、質問の種類に応じて検索方式を切り替える構成も取れる。
FAQ
GraphRAGは通常のRAGより常に優れている?
常に優れているわけではない。特定の事実を尋ねる質問では通常のRAGで十分なことが多く、GraphRAGはインデックス構築のコストも大きい。文書全体を俯瞰する質問が多い場合に効果を発揮する。
GraphRAGにはグラフデータベースが必要?
必須ではない。Microsoftのオープンソース実装はエンティティ・関係・コミュニティ要約をファイルとして出力する構成を取る。規模や運用要件に応じてグラフデータベースと組み合わせることもできる。