Neo4jのグラフデータベースとLLM、ベクトル検索を組み合わせたGraphRAGアプリケーションを構築するための、公式Pythonパッケージです。
neo4j-labs/llm-graph-builder
LLMとLangChainを使い、PDFや文書、動画、WebページをNeo4jに保存するナレッジグラフへ変換するWebアプリ。
- スター
- 5,281
- フォーク
- 885
- 未解決の Issue
- 61
- 最終コミット
- 19 時間前
これは何?
Knowledge Graph Builderは、PDF、DOC、TXTファイル、YouTube動画、Webページなどの非構造化コンテンツを、Neo4j上の構造化されたナレッジグラフに変換します。LangChainフレームワークを通じて大規模言語モデルを利用し、ノード、リレーションシップ、それらのプロパティを抽出します。また、抽出用のカスタムスキーマを定義できます。
ファイルはローカルマシン、S3、Google Cloud Storage、またはWebソースから読み込めます。OpenAI、Gemini、Diffbot、Anthropic、ローカルのOllamaモデルなど、LLMプロバイダーを選択できます。アプリには、Neo4j内のデータを検索し、回答とともにソースのメタデータを返すQ&Aチャット機能があります。グラフはNeo4j Bloomでプレビューできます。
このプロジェクトはFastAPIバックエンドとReactフロントエンドで構成され、docker-composeを使ってまとめてデプロイすることも、個別にデプロイすることもできます。APOCを有効にしたNeo4j 5.23以降が必要で、Neo4j Auraにも対応しています。トークン使用量の追跡と埋め込みモデルの選択は、任意で設定できます。
主な機能
- 01非構造化ファイルから、ノード、リレーションシップ、プロパティを含むナレッジグラフを構築します。
- 02ローカルファイル、S3、Google Cloud Storage、YouTube、Webページからデータをインポートできます。
- 03OpenAI、Gemini、Diffbot、Anthropic、Ollamaなど、複数のLLMプロバイダーに対応しています。
- 04エンティティとリレーションシップのラベルにカスタムスキーマを設定できます。
- 05グラフ内のデータに関する質問に、ソースのメタデータを添えて回答するチャットインターフェースを提供します。
- 06Neo4j Bloomでグラフを可視化できます。
ユースケース
- PDFやレポートの集合を、エンティティとリレーションシップを検索できるグラフに変換する。
- Neo4jに保存した独自の文書を対象に、GraphRAGチャットボットを構築する。
- YouTubeの文字起こしやWeb記事から構造化された知識を抽出する。
- データを手元のマシンから外部に出せない場合に、ローカルのOllamaモデルで抽出を実行する。
クイックスタート
- 1
前提条件: Python 3.12 と APOC を備えた Neo4j 5.23 以降のデータベース
- 2
backend/example.env をもとに backend/.env を作成し、NEO4J_URI、NEO4J_USERNAME、NEO4J_PASSWORD、NEO4J_DATABASE を設定します
- 3
仮想環境を作成し、backend の依存関係をインストールします
cd backend && python3.12 -m venv venv && source venv/bin/activate && pip install -r requirements.txt - 4
バックエンドサーバーを起動します
uvicorn score:app --reload
使う前に知っておきたいこと
- APOC をインストールした Neo4j 5.23 以降のデータベースが必要です。Neo4j Desktop では、バックエンドとフロントエンドを個別にデプロイする必要があります。
- グラフの構築には LLM API キー(OpenAI や Diffbot など)が必要です。
トピック
よくある質問
- llm-graph-builder とは?
- LLMとLangChainを使い、PDFや文書、動画、WebページをNeo4jに保存するナレッジグラフへ変換するWebアプリ。 Knowledge Graph Builderは、PDF、DOC、TXTファイル、YouTube動画、Webページなどの非構造化コンテンツを、Neo4j上の構造化されたナレッジグラフに変換します。LangChainフレームワークを通じて大規模言語モデルを利用し、ノード、リレーションシップ、それらのプロパティを抽出します。また、抽出用のカスタムスキーマを定義できます。
- llm-graph-builder は無料で使えますか?ライセンスは?
- llm-graph-builder は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- llm-graph-builder は今もメンテナンスされていますか?
- 活発にメンテナンス中。llm-graph-builder の最終コミットは 2026年10月21日 です。
- llm-graph-builder は何に使えますか?
- PDFやレポートの集合を、エンティティとリレーションシップを検索できるグラフに変換する。 Neo4jに保存した独自の文書を対象に、GraphRAGチャットボットを構築する。 YouTubeの文字起こしやWeb記事から構造化された知識を抽出する。 データを手元のマシンから外部に出せない場合に、ローカルのOllamaモデルで抽出を実行する。
- llm-graph-builder のインストール方法は?
- 前提条件: Python 3.12 と APOC を備えた Neo4j 5.23 以降のデータベース backend/example.env をもとに backend/.env を作成し、NEO4J_URI、NEO4J_USERNAME、NEO4J_PASSWORD、NEO4J_DATABASE を設定します 仮想環境を作成し、backend の依存関係をインストールします: cd backend && python3.12 -m venv venv && source venv/bin/activate && pip install -r requirements.txt バックエンドサーバーを起動します: uvicorn score:app --reload
- llm-graph-builder はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/neo4j-labs/llm-graph-builder
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
文書をエンティティと関係性に分解してインデックス化し、LLMによる検索拡張回答を実現する軽量な知識グラフRAGフレームワーク兼サーバー。
Neo4jを基盤に、会話を保存してナレッジグラフを構築し、推論の記録も行う、AIエージェント向けのグラフネイティブなメモリシステムです。
非構造化テキストからLLMで構造化ナレッジグラフを抽出し、検索拡張型の質問応答に活用するPythonデータパイプライン。
AIエージェントのメモリやコンテキストとして、時間の経過に伴う事実の変化を追跡する時系列ナレッジグラフを構築するPythonフレームワーク。
MCPとCLIでAIコーディングツールに正確なレビュー情報を提供する、ローカルのコード知識グラフ。