0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GraphRAGのワークフロー

Posted at

GraphRAGの概要

GraphRAGとは

Neo4j等のGraphDBを使ったRAG(検索拡張生成)のこと。

従来型RAG(vectorRAG)の問題点

従来のRAG(vectorRAG)では、ドキュメントの局所的な内容に対する回答には対応できるものの、全体を俯瞰した参照が必要な質問への回答ができなかった。

GraphRAGでできること

ドキュメント全体を横断的に参照する必要がある質問、例えばドキュメントの概要説明に回答できたり、ドキュメント内の用語ごとの関連性など、全体的な文脈を踏まえた読解が必要となる内容への質問に回答することができる。

なぜそんなことができるか

ドキュメントに記載されている文章そのものに加え、ドキュメント内の部分同士の関連性を表現できるため、従来型のRAGに比べてドキュメントから抽出する情報の損失を大幅に減らすことに成功している。

GraphRAGのワークフロー

vectorRAGのワークフロー

vectorRAGでは、対象ドキュメントをチャンキング(切り分け)したのちベクトル化(Embedding)、それをvectorDBとして組み込む。そして、ユーザー入力(問い合わせ、query)とのベクトル類似度が高いチャンクを検索結果とし、LLMのpromptに組み込む。そのため、ドキュメント内でLLMが参照できる情報は、チャンクに含まれるごく一部のテキストに限られる。

GraphRAGのワークフロー

GraphRAGは、特にチャンキング後の処理がvectorRAGと大きく異なる。

  1. Entities & Relationships
    各チャンクをドメイン(ドキュメントの専門領域や組織内での特殊な文脈など)を踏まえて要約する(Entities)。更に、各ドメイン同士の関係、関連を結び付ける(Relationships)。
  2. Knowledge Graph
    全てのドメイン同士の要約、関係をGraphとして結びつける。
  3. Graph Communities
    作成したKnowledge Graphから、コミュニティーを検出する。検出アルゴリズムは論文上、Leiden community detection(Traag et al., 2019)を採用。
  4. Community Summaries
    検出したCommunity単位での要約を実施。
  5. Community Answers
    ユーザークエリ(問い合わせ)の内容に対して、各Communityごとに要約回答を生成。
  6. Global Answer
    Community Answersを総括し、ドキュメント全体でのユーザークエリに対する回答を生成する
    image.png

reference

From Local to Global: A GraphRAG Approach to Query-Focused Summarization
https://arxiv.org/pdf/2404.16130

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?