使い方・開発 上級

GraphRAG

GraphRAG

文書から人物や組織などの関係を抜き出して「つながりの地図(グラフ)」を作り、それを手がかりに検索して回答させるRAGの発展形です。全体を俯瞰する質問に強みがあります。

別の呼び方グラフRAG、ナレッジグラフRAG

例数百件の報告書を横断して「主要な課題の傾向は?」と聞くため、GraphRAGで関係グラフを作った。

詳しく

GraphRAGとは、文書の内容を「誰が・何が・どう関係しているか」というグラフ(点と線のつながり)に整理し、そのグラフを利用して検索・回答するRAGの方式です。名称は、Microsoft Researchが2024年に発表した手法で広まりました。その後、似た発想の手法も多く登場し、広く「グラフを使ったRAG」の意味で使われることもあります。

通常のRAGの限界

標準的なRAGは、文書を断片(チャンク)に分けてベクトル検索し、質問に近い数件を取り出して回答を作ります。「この製品の保証期間は?」のように、答えが特定の箇所にある質問には向いています。

一方で、「この100件の報告書全体で、共通する課題は何か」や「AさんとBさんの取引はどうつながっているか」といった、文書全体にまたがる質問は苦手です。近い断片を数件取り出しても、全体像や、離れた箇所の関係は把握できません。

しくみ(概要)

典型的な流れは次のようなものです。

  1. 抽出:LLMで文書を読み、人物・組織・製品・出来事などの要素(ノード)と、それらの関係(エッジ)を抜き出す。
  2. グラフの構築:抜き出した要素と関係をつないで、グラフにする。
  3. グループ化と要約:つながりの強い要素をまとまり(コミュニティ)に分け、各まとまりの要約を作る。
  4. 検索と回答:質問に応じて、関連する要素や関係をたどる、または要約を利用して回答を組み立てる。

方式により細部は異なりますが、「関係をたどれる」「要約された全体像がある」ことが特徴です。

具体例

企業の調査レポートで、「A社の子会社のうち、B社と取引があるのはどこか」を聞くとします。この答えは複数の文書に分散していて、A社→子会社→B社と順にたどる必要があります。グラフ構造なら、この「たどる」操作を明示的に行えます。契約書、法務、研究論文、ニュース記事の分析のように、関係が重要な分野で試されています。

使うときの注意

  • 構築に手間と費用がかかります。 文書全体をLLMで読んでグラフを作るため、通常のRAGの前処理より、トークンも時間も多く必要です。文書が更新されたときの再構築も課題です。
  • 抽出の誤りが残ります。 LLMが関係を取り違えたり、同じ対象を別名で別のノードにしたりすることがあります。品質の確認が必要です。
  • 向かない用途もあります。 単純なFAQや、特定の箇所を引く質問には、通常のRAGで十分なことが多くあります。効果は用途次第なので、小さく試して比較するのが安全です。
  • ツールや手法は変化が速い分野です。 実装の選択肢は流動的なため、導入前に最新の情報を確認してください。

関連する考え方

土台となるのはRAGと、ベクトルデータベースによる検索です。グラフを併用する発想は、ベクトル検索だけでは拾いにくい「関係」を補うものと理解すると分かりやすいでしょう。

あわせて知りたい言葉

「使い方・開発」の言葉をすべて見る