【グラフラグ】

Graph RAG とは?

最終更新:
💡 知識の「つながり」を地図にして答えを探すRAG

情報を点と線の関係として表すグラフを、検索拡張生成(RAG)に利用する手法。情報同士のつながりや関連する文書を、回答を作るための材料として扱う。

📌 このページのポイント
情報の「つながり」を回答の材料へ ナレッジグラフの例 太郎 A社 製品X 所属 開発 質問に関係する情報と文書を集める 質問 回答の材料 回答を生成
上の矢印は所属・開発の関係、下の矢印は回答を作る流れ。グラフや関連文書を言語モデルへ渡すが、回答の正確さは別途確認する。
ひよこ ひよこ
ここでいうグラフは棒グラフのこと?
ペンギン先生 ペンギン先生
点と線で関係を表すグラフだよ。例えば「太郎さんはA社に所属」「A社は製品Xを開発」という情報を、人物・会社・製品のつながりとして表すんだ。
ひよこ ひよこ
そのつながりをどう回答に使うの?
ペンギン先生 ペンギン先生
質問に関係する人物や組織を起点に、周辺の関係や文書を集めて言語モデルへ渡すんだ。別々の文書にある情報を結び付けたい場合の助けになるよ。
ひよこ ひよこ
グラフはどう作るの?
ペンギン先生 ペンギン先生
例えばMicrosoftのGraphRAGでは、言語モデルで文書からエンティティと関係を抽出するよ。関係の近い集まりを見つけ、その集まりの要約も作るんだ。
ひよこ ひよこ
ベクトル検索は使わなくなるの?
ペンギン先生 ペンギン先生
併用できるよ。MicrosoftのLocal Searchでは意味の近いエンティティを検索し、グラフの関係だけでなく関連文書も回答の材料にするんだ。
ひよこ ひよこ
導入すれば複雑な質問にも正しく答えられる?
ペンギン先生 ペンギン先生
正確さは保証されないよ。関係の抽出や検索、回答生成を確かめる必要があるんだ。Microsoftの実装は準備にも多くの言語モデル資源を使うことがあるので、小さなデータから効果とコストを確認するといいね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Graph RAG」って出てきたら「知識のつながりを回答の材料に使うRAG」と思えばだいたいOK!
📖 おまけ:英語の意味
「Graph Retrieval-Augmented Generation」 = グラフ型の検索拡張生成
💬 ここでのGraphはグラフ理論のグラフで、ノード(点)とエッジ(線)で関係性を表すデータ構造のことだよ

参考資料

← 用語集にもどる