🔗

Graph RAG! 文書をグラフネットワーク化して保存!だから全体的に把握できる!

2024/09/25に公開

前書き

  • 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