GraphRAGは、単純なテキストのセマンティック検索とは異なる、構造化された階層型の検索強化生成(RAG)手法です。GraphRAGのプロセスには、原文から知譇グラフを抽出し、コミュニティの階層を構築し、これらのコミュニティの要約を生成し、そしてRAGタスクを実行する際にこれらの構造を利用することが含まれます。
詳細は:https://microsoft.github.io/graphrag/
GraphRAGのインストールは非常に簡単で、最新のPythonをインストールすることから始まります。要求されるのはPython 3.10~3.12で、私がインストールしたのは3.12.4です。
- graphragのインストール
pip install graphrag
- RAGの内容を保存するための入力フォルダを作成する
mkdir -p ./ragtest/input
- 以下は、公式のbook.txtコンテンツ取得コマンドです
curl https://www.gutenberg.org/cache/epub/24022/pg24022.txt > ./ragtest/input/book.txt
変更を提案しています。内容が大きすぎて費用がかかりすぎるため、内容が少なく、中国語のものに変えてください。GPTで生成した以下の内容を使用しました。
.NETは、Microsoftが開発した広く使用されている開発プラットフォームです。デスクトップアプリケーション、Webアプリケーション、モバイルアプリケーション、ゲームなど、様々なタイプのアプリケーションを作成するための豊富なフレームワークとツールセットを提供します。以下に.NETについての詳細な説明があります:
-
.NETの歴史と進化
-
.NETの核心コンポーネント
-
.NETの利点
-
.NETの利用シナリオ
-
.NETの未来の展望
-
初期化、設定と出力フォルダの作成
python -m graphrag.index --init --root ./ragtest
作成後、.envに自分のgptのキーを入力し、節約のためにsettings.yamlの中でgptのモデルをgpt-4o-miniに変更することをお勧めします。
- インデックスの生成
python -m graphrag.index --root ./ragtest
グローバル検索を使って:
python -m graphrag.query --root ./ragtest --method global ".netの利点は何ですか?"
ローカル検索を使って:
python -m graphrag.query --root ./ragtest --method local ".netがサポートする言語は何ですか?"
GraphRAGは、いわゆる遅い鳥が早く飛ぶ戦略を採用しています。まずLLMを使用してデータを一度処理し、その結果を知譇グラフの形で保存します。これにより、直接RAGを使用するよりも優れた効果が得られます。
(Translated by GPT)