文書をエンティティと関係性に分解してインデックス化し、LLMによる検索拡張回答を実現する軽量な知識グラフRAGフレームワーク兼サーバー。
FalkorDB/GraphRAG-SDK
FalkorDB上で、知識グラフから関連するコンテキストを取得し、出典を追跡できるLLM回答を生成するGraphRAGアプリを構築するPython SDK。
- スター
- 1,034
- フォーク
- 147
- 未解決の Issue
- 67
- 最終コミット
- 一昨日
これは何?
GraphRAG SDKは、FalkorDB上でRAGアプリケーションを構築するためのPythonフレームワークです。ドキュメントからエンティティと関係を抽出して知識グラフに格納し、その関係をたどりながらベクトル検索と全文検索を行って質問に回答します。これにより、複数のチャンクに事実が分散しているマルチホップ質問にも対応できます。こうした質問は、単純なベクトル類似度検索では見落とされることがよくあります。
SDKは、エンティティへの言及と元のチャンクを結び付けるMENTIONED_INエッジを記録します。また、回答とともに検索コンテキストを返せるため、アプリケーション側で生成された主張を検証したり、根拠が見つからない場合に回答を控えたりできます。オプションのオントロジーを使うと、抽出するエンティティと関係の型を制限できます。graph_nameごとにテナントのデータが分離されます。
SDKはupdate、delete_document、apply_changesによる段階的な更新に対応しており、変更されたファイルだけを再同期します。また、pdf extraをインストールするとPDF入力も利用できます。LLMと埋め込みのプロバイダーは、LiteLLMまたはカスタムプロバイダークラスを通じて設定します。FalkorDBサーバーのバージョン4.20以降が必要です。
主な機能
- 01テキストやPDFからエンティティと関係を抽出し、FalkorDBの知識グラフに格納します。
- 02グラフ探索、ベクトル検索、全文検索、テキストからCypherへの変換による検索を組み合わせます。
- 03MENTIONED_INエッジでエンティティへの言及を元のチャンクに結び付け、回答の追跡を可能にします。
- 04オプションのスキーマを使って、抽出するエンティティと関係の型を制限できます。
- 05CIによるグラフ同期に向けて、ドキュメントの段階的な更新と削除に対応します。
- 06graph_nameを使ってテナントごとにデータを分離します。
ユースケース
- 回答に出典の提示が必要な、社内ドキュメントを対象とするQAボットの構築。
- 複数のドキュメントにまたがる事実をつなげる必要があるマルチホップ質問への回答。
- PRのマージ時に変更ファイルを再取り込みし、知識グラフをGitリポジトリと同期。
- ハルシネーションのコストが高いアプリケーションに、根拠に基づく回答と回答保留機能を追加。
クイックスタート
- 1
LiteLLM 対応の SDK をインストールします
pip install graphrag-sdk[litellm] - 2
Docker で FalkorDB サーバー(バージョン 4.20 以降)を起動します
docker run -d -p 6379:6379 -p 3000:3000 --name falkordb falkordb/falkordb:v4.22.2 - 3
環境変数に OpenAI API キーを設定します
export OPENAI_API_KEY="sk-..." - 4
README の Python の例を使って、ドキュメントを取り込み、処理を完了してからクエリします
使う前に知っておきたいこと
- バージョン 4.20 以降の FalkorDB サーバーが起動している必要があります。
- ドキュメントの取り込みと回答の生成には、OpenAI などの LLM API キーが必要です。
トピック
よくある質問
- GraphRAG-SDK とは?
- FalkorDB上で、知識グラフから関連するコンテキストを取得し、出典を追跡できるLLM回答を生成するGraphRAGアプリを構築するPython SDK。 GraphRAG SDKは、FalkorDB上でRAGアプリケーションを構築するためのPythonフレームワークです。ドキュメントからエンティティと関係を抽出して知識グラフに格納し、その関係をたどりながらベクトル検索と全文検索を行って質問に回答します。これにより、複数のチャンクに事実が分散しているマルチホップ質問にも対応できます。こうした質問は、単純なベクトル類似度検索では見落とされることがよくあります。
- GraphRAG-SDK は無料で使えますか?ライセンスは?
- GraphRAG-SDK は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- GraphRAG-SDK は今もメンテナンスされていますか?
- 活発にメンテナンス中。GraphRAG-SDK の最終コミットは 2026年11月5日 です。
- GraphRAG-SDK は何に使えますか?
- 回答に出典の提示が必要な、社内ドキュメントを対象とするQAボットの構築。 複数のドキュメントにまたがる事実をつなげる必要があるマルチホップ質問への回答。 PRのマージ時に変更ファイルを再取り込みし、知識グラフをGitリポジトリと同期。 ハルシネーションのコストが高いアプリケーションに、根拠に基づく回答と回答保留機能を追加。
- GraphRAG-SDK のインストール方法は?
- LiteLLM 対応の SDK をインストールします: pip install graphrag-sdk[litellm] Docker で FalkorDB サーバー(バージョン 4.20 以降)を起動します: docker run -d -p 6379:6379 -p 3000:3000 --name falkordb falkordb/falkordb:v4.22.2 環境変数に OpenAI API キーを設定します: export OPENAI_API_KEY="sk-..." README の Python の例を使って、ドキュメントを取り込み、処理を完了してからクエリします
- GraphRAG-SDK はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/FalkorDB/GraphRAG-SDK
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Neo4jのグラフデータベースとLLM、ベクトル検索を組み合わせたGraphRAGアプリケーションを構築するための、公式Pythonパッケージです。
LLMとLangChainを使い、PDFや文書、動画、WebページをNeo4jに保存するナレッジグラフへ変換するWebアプリ。
疎行列で隣接関係を保持し、OpenCypherでクエリを実行するグラフデータベース。LLMやGraphRAGのワークロード向けの知識グラフを対象としています。
ローカルのOllamaまたはクラウドで動作し、ナレッジグラフを使って引用付きのマルチホップ質問応答を行う、オープンソースのGraphRAG・エージェントフレームワーク。
ドキュメント、コード、会話をAIエージェント向けのセルフホスト型ナレッジグラフに変換する、オープンソースのAIメモリプラットフォーム。