はじめに
Fast GraphRAGはCirclemind AIによって開発されたオープンソースツールで、ナレッジグラフとPageRankアルゴリズムによる効率的で正確な検索補強生成(RAG)を可能にします。このツールは、ユーザーの利用シナリオ、データ、クエリ要件にインテリジェントに適応し、解釈しやすく、低コストで効率的な検索ワークフローを提供します。Fast GraphRAGは、大規模なリソースやコストをかけずに実行できるように設計されており、リアルタイムのデータ更新や動的なデータ生成をサポートしているため、知識管理や情報検索を必要とする様々なドメインに適しています。
Fast-GraphGRAGを使用することで、元の0.48と比較して、6倍近いコスト削減が可能である!そして、この費用対効果は、データサイズと挿入数が増加するにつれて、さらに増加する。
機能一覧
- 解釈可能でデバッグ可能な知識グラフ照会、視覚化、更新が可能な、人間がナビゲート可能な知識のビューを提供する。
- 高効率と低コスト大きなリソースやコストをかけずに大規模な運用ができるように設計されています。
- ダイナミックなデータ生成ドメインとオントロジーのニーズに最適なマップを自動的に生成し、最適化します。
- インクリメンタルアップデートリアルタイムアップデートに対応し、データの変化に合わせて調整。
- 知的探検PageRank アルゴリズムを用いたグラフ探索により、精度と信頼性を向上。
- 非同期および型のサポート完全な非同期型サポートにより、ロバストで予測可能なワークフローを実現します。
LightRAG、GraphRAG、VectorDBsの比較
諮る
#クエリ | 方法 | すべての問い合わせ % | マルチホップのみ % |
---|---|---|---|
51 | |||
ベクターDB | 0.49 | 0.32 | |
ライトラグ | 0.47 | 0.32 | |
グラフラグ | 0.75 | 0.68 | |
サークルマインド | 0.96 | 0.95 | |
101 | |||
ベクターDB | 0.42 | 0.23 | |
ライトラグ | 0.45 | 0.28 | |
グラフラグ | 0.73 | 0.64 | |
サークルマインド | 0.93 | 0.90 |
データ挿入
方法 | 時間(分) |
---|---|
ベクターDB | ~0.3 |
ライトラグ | ~25 |
グラフラグ | ~40 |
サークルマインド | ~1.5 |
クエリテストでは、Fast GraphRAGはVectorDBと比較して、全クエリで96%、マルチホップクエリで95%という高い精度を達成した。 ラグ 4倍近く高い。
さらに、Fast GraphRAGはデータセットのベンチマークテスト(約800ブロック)の挿入時間を測定した。Fast GraphRAGの挿入時間は約1.5分で、GraphRAGの27倍速く、検索精度は401 TP3T以上向上した。
ヘルプの使用
設置プロセス
- ソースからのインストール(最高のパフォーマンスを得るために推奨)::
# 克隆此仓库
git clone https://github.com/circlemind-ai/fast-graphrag
cd fast-graphrag
poetry install
- PyPiからのインストール(推奨される安定性)::
pip install fast-graphrag
クイックスタート
- OpenAI API キーを設定します:
export OPENAI_API_KEY="sk-..."
- クリスマス・キャロル』のテキストをダウンロードする
curl https://raw.githubusercontent.com/circlemind-ai/fast-graphrag/refs/heads/main/mock_data.txt > ./book.txt
- オプション:同時リクエスト数の上限を設定する:
export CONCURRENT_TASK_LIMIT=8
- 以下のPythonコード・スニペットを使用する:
from fast_graphrag import GraphRAG
DOMAIN = "Analyze this story and identify the characters. Focus on how they interact with each other, the locations they explore, and their relationships."
EXAMPLE_QUERIES = [
"Who are the main characters?",
"What locations are mentioned?",
"How do the characters interact?"
]
grag = GraphRAG(
domain=DOMAIN,
example_queries=EXAMPLE_QUERIES,
config=GraphRAG.Config(
llm_service=OpenAILLMService(
model="your-llm-model",
base_url="llm.api.url.com",
api_key="your-api-key",
mode=instructor.Mode.JSON,
api_version="your-llm-api_version",
client="openai or azure"
),
embedding_service=OpenAIEmbeddingService(
model="your-embedding-model",
base_url="emb.api.url.com",
api_key="your-api-key",
embedding_dim=512,
api_version="your-llm-api_version",
client="openai or azure"
),
),
)
主な機能
- 知識グラフの生成ドメインとクエリ例を定義することで、GraphRAGはお客様のニーズに合わせたナレッジグラフを自動生成します。
- クエリーとビジュアライゼーション生成されたナレッジグラフを使用してクエリを実行し、可視化ツールで結果を表示します。
- リアルタイム更新データが変更されると、GraphRAGはナレッジグラフのリアルタイム更新をサポートし、情報が最新で正確であることを保証します。
- 知的探検PageRankアルゴリズムを用いて、GraphRAGは知識グラフをインテリジェントに探索し、検索精度と信頼性を向上させることができる。