GraphRAG情報のまとめ 最新の文献と記事をまとめておいてあげたんだから...か、勘違いしないでよね...
「GraphRAGの文献と記事をまとめたのでツンデレ風タイトルにしてください」でできたタイトルです。
最近注目されているGraphRAGを扱う機会があったので、調べてみました。
べ、別に皆さんのためにとかじゃないんですから!
タイトルはふざけていますが、内容は真面目です。
実際、多くの人が注目して使い始めているのでブログもたくさんあります。
ちょっと前のコードが動かなかったり、いろいろ苦労しました。
主に、LangChainとneo4jの組み合わせや、microsoftのgraphragライブラリの記事が見られます。
実装的な情報
アルゴリズム理解(英語)
アルゴリズム的な理解:
- どうやら私はGraphRAGを勘違いしていたらしい[1/2]
-
GraphRAGとは?メリットから仕組みまで詳しく解説 最終更新日:2024/11/07
- ざっくり知りたい人向け
Microsoft GraphRAG使い方
- Welcome to GraphRAG
- Graph RAGで作成されたナレッジグラフを可視化してみた 2024/11/24に公開
-
Microsoftから提供されたGraphRAGを使ってみました
- しかしコマンドが変わったらしく新しい方の使い方の記事がこちら→ 【GraphRAG】- No module named graphrag.index.main; の対処方法 2025/01/27に公開
-
ローカルLLMでGraphRAGを動かしてみた
- LLMとしてollama使用
-
話題のGraphRAGとは - 内部構造の解析と実用性の考察 2024-08-21 更新
- アルゴリズムの詳細を解説しているので読むべき
- Azure
- GraphRAG 第一弾 ~ Azureで動かしてみる ~
-
MicrosoftのGraphRAGセッションまとめ 2024/11/29に公開
- Azureで使う方法
LangChain GraphRAG使い方
- Enhancing RAG-based application accuracy by constructing and leveraging knowledge graphs
- エンジニアのためのGraphRAG入門: 知識グラフ活用の第一歩
- Knowledge Graphを使った RAG をLangChainで実装[前編]
- Knowledge Graphを使った RAG をLangChainで実装[後編]
-
LangChainのナレッジグラフデモを試す
- docker, neo4j使用
-
【GraphRAG】Langchain+Neo4j での実装メモ 2024/10/14に公開
- キングダムを分析
- GraphRAGを使った生成AIチャットアプリを作ってみた投稿日 2024年10月04日
- GraphRAGをわかりやすく解説
Amazon Bedrok GraphRAG
- Amazon Bedrock Knowledge Bases が GraphRAG をサポート(プレビュー)!だが…それがなんだというのだ…
- Amazon BedrockでGraphRAGを試してみる
まとめ記事
-
RAG関連
- 似たような記事もありました。
学術的な情報
言語モデルが出始めたあたりからナレッジグラフと連携させたモデルが研究されていたらしいです。
GraphRAGではグラフをベクトル検索とは違う意味検索の一部として使っていますが、
ナレッジグラフ研究としては、Neo4jのようなCYPHERのようなクエリー言語を生成するものや、
グラフを作るためだけにLLMを利用しているものなど様々です。
グラフを使うメリットとしては、多くの論文が知識の追加が容易にできるという点を挙げています。
[Edge et al. 2024]
- [Edge et al. 2024] Edge, Darren, Ha Trinh, Newman Cheng, Joshua Bradley, Alex Chao, Apurva Mody, Steven Truitt and Jonathan Larson. “From Local to Global: A Graph RAG Approach to Query-Focused Summarization.” ArXiv abs/2404.16130 (2024): n. pag. https://arxiv.org/abs/2404.16130
microsoftのページ
いくつか論文を調べてみましたが、
GraphRAGで引用されるのは[Edge et al. 2024]です。
この論文を読みました。
著者はMicrosoft Researchの研究者です。
この論文で説明しているGraphRAGのプロセスの図です。
プロンプトで入力されたテキストから
グラフのノード(node,要素)とノード間のエッジ(edge, 関係性)を元に
グラフの中の関係するグループ・領域(community)を調べます。
ここ大事なのでFigure1のキャプションを日本語訳すると
ソース文書の LLMからのグラフ インデックスを使用したGraphRAG パイプライン。
このインデックスは、データセットのドメインに合わせて調整された LLM プロンプトによって
検出、抽出、要約されたノード (エンティティなど)、エッジ (関係など)、共変量 (必要に応じて) にまたがります。
コミュニティ検出 (Leiden、Traag 他 2019 など) は、
グラフ インデックスを要素 (ノード、エッジ、共変量) のグループに分割するために使用されます。
LLM は、インデックス作成時とクエリ時の両方でこれらのグループを並列処理で要約できます。
特定のクエリに対する「グローバルな回答」は、
そのクエリへの関連性を報告するすべてのコミュニティ要約に対するクエリ重視の要約の最終ラウンドを使用して生成されます。
この中で言及しているコミュニティ検出というのが重要です。
ノード一つ一つを人に見立てて、関係性で繋がったグループをコミュニティと読んでいます。
グラフができている前提で、推論の過程を簡単に説明します。
このシステムに質問を与えたとするとグラフからコミュニティを探索します。
そこからこのコミュニティを元に要約を作りコミュニティの回答とします。つまりこのGraphRAGで文を生成します。
コミュニティというグループをどうやって探すのかというと、Leidenアルゴリズムというものを使います(詳細は省略します)。
その後、要約文がGraphRAGで得られた情報になり、この文を使ってプロンプトに追加してLLMで元の質問に答えることになります。
サーベイ論文
技術的に注目されているので、サーベイ論文はたくさんあります。
論文書くときはとりあえず、上の論文と[Procko et al. 2024],[Peng et al. 2024],[Han et al. 2024]を引用してます。
論文:
- [Han et al. 2024] HAN, Haoyu, et al. Retrieval-augmented generation with graphs (graphrag). arXiv preprint arXiv:2501.00309, 2024. https://arxiv.org/abs/2501.00309
- [Zhang et al. 2025] Zhang, Qinggang, Shengyuan Chen, Yuan-Qi Bei, Zheng Yuan, Huachi Zhou, Zijin Hong, Junnan Dong, Hao Chen, Yi Chang and Xiao Huang. “A Survey of Graph Retrieval-Augmented Generation for Customized Large Language Models.” (2025). https://arxiv.org/abs/2501.13958v1
- [Peng et al. 2024] PENG, Boci, et al. Graph retrieval-augmented generation: A survey. arXiv preprint arXiv:2408.08921, 2024. https://arxiv.org/abs/2408.08921
- Gao, Yunfan, Yun Xiong, Xinyu Gao, Kangxiang Jia, Jinliu Pan, Yuxi Bi, Yi Dai, Jiawei Sun, Qianyu Guo, Meng Wang and Haofen Wang. “Retrieval-Augmented Generation for Large Language Models: A Survey.” ArXiv abs/2312.10997 (2023): n. pag. https://arxiv.org/html/2312.10997v5
- [Procko et al. 2024] PROCKO, Tyler Thomas; OCHOA, Omar. Graph retrieval-augmented generation for large language models: A survey. In: 2024 Conference on AI, Science, Engineering, and Technology (AIxSET). IEEE, 2024. p. 166-169. https://ieeexplore.ieee.org/abstract/document/10771030/
論文の解説をしているとこの記事が長くなりすぎるので、そのうちまた別に記事を書きます。
[Peng et al. 2024]
GraphRAGのプロセスを3つに分けて解説しています。
- Graph-Based Indexing (G-Indexing)
- Graph-Guided Retrieval (G-Retrieval)
- Graph-Enhanced Generation (G-Generation)
GraphRAGは通常のベクトルのRAGとは異なり、
テキスト中の語の関係性を考慮し、構造化された情報を知識として活用する点が特徴です。
応用としては質問応答、レポート生成、学術研究、法的分析などが期待されています。
今後の研究では、マルチモーダル情報の統合、スケーラブルで効率的な検索メカニズムの開発、大規模グラフデータへの対応が課題です。
日本の論文・技術報告
- 福田悠貴, et al. 社内知識の活用を支援する知識グラフ自動生成. 人工知能学会第二種研究会資料, 2025, 2024.SWO-064: 05.
- 辻智和, et al. 頻出グラフマイニングを利用した動画像解析. 電子情報通信学会論文誌 D, 2010, 93.2: 86-99.
- 三浦由起子, et al. 生成 AI ツールを活用したカスタム AI 翻訳システムの性能検証と品質向上のための試行錯誤. 研究報告自然言語処理 (NL), 2024, 2024.11: 1-2.
という感じで、まだ報告は少ないようです。有料なので読んでません。
Discussion