🔗
Graph RAG! 文書をグラフネットワーク化して保存!だから全体的に把握できる!
前書き
- 3ヶ月前に Noe4jのプレゼンで聞いた時は、次のスタンダードになるかなと思ったが、現在どんな感じなのか気になる。 ラングチェーンでNeo4Jで試しました。
- このGraphRAGとは直接関係ありませんが、SIGNATEのRAG-1グランプリで、現時点で金メダル範囲です。終わったらRAG、Agent関連記事書こうと思います。
話すこと
- Graph RAGの解説
- 論文読んで、自分が理解した内容です。違うとかありましたらご指摘願います。
読者対象
- 既存のラグではうまくいかない人。
- グラフネットワークの新たな 応用例を知りたい人。
1. どんなもの?
- 文書をグラフネットワーク化して保存
- さらに下の図のように1度グラフを作ってからそれをコミュニティー(クラスタリング)をLeidenアリゴリズムで集約してその上の層でまたグラフを作っている(と思っている.出来上がったグラフ構造、特に手順は理解違うかも)
- 紫がインデックスを作る時の動きで 緑色が 質問受けた時の動きです。
- 下の図は 同じデータを、Aで大きなコミュニティで、Bはそれを細分化し可視化。(と思っている。)
- From Local to Global: A Graph RAG Approach to
Query-Focused Summarization
2. 先行研究と比べてどこがすごいの?
- 既存RAGに比べて包括性や 多様性 あと役に立つって点で優れている ただ、直接性で負けている。
- 今回使ったデートセットや 質問の例。
- 使うグラフの階層、既存RAG、全てのトークンを使う場合で比較。GraphRAG強い。
- 枠内の数字は、行の種類の列の種類に対しての勝率。
- 記号の定義
- 全てのトークンを使う場合と比べて グラフ階層によってトークン数が少ない、C0の場合TSにある程度負けているところあるが2.6%程しか使っていなく効率よく思える。
3. 技術や手法の少し面白いところ
- チャンクを600で区切ると より多くのエンティティができる。しかし れよりも大きいチャンクサイズを複数回やった方が、 より多くのエンティティができるを表す表。なのでチャンク大きくしている。
4. 議論はあるか?
- インデックス作る時に結構トークンコストがかかる。
- 自分はNeo4Jで試したが、使える無料のグラフデータベースOSSとかあるのかが気になる。
- グラフネットワーク自体がRAGを意識した場合の進化するうえでどんな考慮点があるか?
論文情報・参考資料・次に読む?記事
-はじめての知識グラフ構築ガイド
-なんもわからん人の論文読み会(Graph RAG)でも勉強させてもらいました
-Microsoftのページ
あとがき
- もう少し理解を進めて、記事を更新したいと思ってます。
- また、最近RAGのWebアプリいくつか遊びで作ったので、近日中に公開するつもりです。
- LangChainのメモリでナレッジグラフを利用して会話を構造化し、保存するの既にあった!!
- 記事よかったら、いいね♡ 押してね!
Discussion