LLMとLangChainを使い、PDFや文書、動画、WebページをNeo4jに保存するナレッジグラフへ変換するWebアプリ。
neo4j/neo4j-graphrag-python
Neo4jのグラフデータベースとLLM、ベクトル検索を組み合わせたGraphRAGアプリケーションを構築するための、公式Pythonパッケージです。
- スター
- 1,316
- フォーク
- 257
- 未解決の Issue
- 44
- 最終コミット
- 9 時間前
これは何?
neo4j-graphragは、グラフ検索拡張生成(GraphRAG)を実現するNeo4j公式のPythonライブラリです。LLMを使って非構造化テキストやPDFからナレッジグラフを構築し、Neo4jに保存できます。さらに、グラフから関連するノードやリレーションシップを取得し、ベクトル検索の結果と組み合わせて質問に回答できます。
カスタマイズ可能なナレッジグラフ構築用のPipelineクラスと、手軽にセットアップできるSimpleKGPipelineラッパーを備えています。また、ベクトル検索、ハイブリッド検索、グラフのトラバーサル検索向けのRetrieverや、Cypherクエリを生成するText2CypherRetriever、Neo4jのベクトルインデックスの作成・データ登録を支援するヘルパーも提供します。ナレッジグラフの構築には、Neo4jインスタンスへのAPOC coreライブラリのインストールが必要です。
LLMや埋め込みモデルのプロバイダーはオプションの追加パッケージとしてインストールでき、OpenAI、Azure OpenAI、Anthropic、Google Gemini、Vertex AI、Cohere、Mistral、Amazon Bedrock、Ollamaに対応しています。ローカル埋め込みにはsentence-transformersを利用できます。Retrieverでは、外部ベクトルストアのWeaviate、Pinecone、Qdrantも使用できます。対応するPythonのバージョンは3.10〜3.14です。
主な機能
- 01LLMを使ってテキストやPDFからナレッジグラフを構築し、Neo4jに保存できます。
- 02ベクトル検索、ハイブリッド検索、グラフのトラバーサル検索、Text2Cypherに対応するRetrieverを提供します。
- 03Neo4jのベクトルインデックスの作成とデータ登録を支援するヘルパーを備えています。
- 04OpenAI、Anthropic、Gemini、Cohere、Mistral、Bedrock、OllamaのLLMに対応しています。
- 05Weaviate、Pinecone、Qdrantなどの外部ベクトルストアを利用できます。
ユースケース
- 文書コーパスを、Neo4j上で検索可能なナレッジグラフに変換する。
- ベクトル検索を使うRAGチャットボットにグラフ由来のコンテキストを加える。
- 既存のグラフデータに対するCypherクエリで回答する、自然言語での質問機能を提供する。
クイックスタート
- 1
pipを使ってPyPIからパッケージをインストールします
pip install neo4j-graphrag - 2
OpenAIベースのサンプルを実行するには、OpenAI extraを指定してインストールします
pip install "neo4j-graphrag[openai]" - 3
OpenAIキーを設定し、APOCをインストールした稼働中のNeo4jインスタンスに対してサンプルを実行します
使う前に知っておきたいこと
- ナレッジグラフの構築には、Neo4jにAPOC core libraryがインストールされている必要があります。
- experimental namespaceは予告なく変更される可能性があるため、本番環境での使用は推奨されません。
- nlp extraはPython 3.14ではサポートされていません。
- ほとんどのLLMおよび埋め込みのサンプルでは、OpenAIなどの有料APIキーが必要です。
トピック
よくある質問
- neo4j-graphrag-python とは?
- Neo4jのグラフデータベースとLLM、ベクトル検索を組み合わせたGraphRAGアプリケーションを構築するための、公式Pythonパッケージです。 neo4j-graphragは、グラフ検索拡張生成(GraphRAG)を実現するNeo4j公式のPythonライブラリです。LLMを使って非構造化テキストやPDFからナレッジグラフを構築し、Neo4jに保存できます。さらに、グラフから関連するノードやリレーションシップを取得し、ベクトル検索の結果と組み合わせて質問に回答できます。
- neo4j-graphrag-python は無料で使えますか?ライセンスは?
- neo4j-graphrag-python は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- neo4j-graphrag-python は今もメンテナンスされていますか?
- 活発にメンテナンス中。neo4j-graphrag-python の最終コミットは 2026年10月22日 です。
- neo4j-graphrag-python は何に使えますか?
- 文書コーパスを、Neo4j上で検索可能なナレッジグラフに変換する。 ベクトル検索を使うRAGチャットボットにグラフ由来のコンテキストを加える。 既存のグラフデータに対するCypherクエリで回答する、自然言語での質問機能を提供する。
- neo4j-graphrag-python のインストール方法は?
- pipを使ってPyPIからパッケージをインストールします: pip install neo4j-graphrag OpenAIベースのサンプルを実行するには、OpenAI extraを指定してインストールします: pip install "neo4j-graphrag[openai]" OpenAIキーを設定し、APOCをインストールした稼働中のNeo4jインスタンスに対してサンプルを実行します
- neo4j-graphrag-python はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/neo4j/neo4j-graphrag-python
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Neo4jを基盤に、会話を保存してナレッジグラフを構築し、推論の記録も行う、AIエージェント向けのグラフネイティブなメモリシステムです。
Neo4jは、データをノードとリレーションシップとして保存し、Cypher言語でクエリするグラフデータベースです。
疎行列で隣接関係を保持し、OpenCypherでクエリを実行するグラフデータベース。LLMやGraphRAGのワークロード向けの知識グラフを対象としています。
ドキュメント、コード、会話をAIエージェント向けのセルフホスト型ナレッジグラフに変換する、オープンソースのAIメモリプラットフォーム。
文書をエンティティと関係性に分解してインデックス化し、LLMによる検索拡張回答を実現する軽量な知識グラフRAGフレームワーク兼サーバー。