LLM ナレッジ グラフ ビルダーは、非構造化データを動的なナレッジ グラフに変換できるようにする Neo4j の GraphRAG エコシステム ツールの 1 つです。これは、検索拡張生成 (RAG) チャットボットと統合されており、自然言語クエリとデータに対する説明可能な洞察を可能にします。
Neo4j LLM ナレッジ グラフ ビルダーは、コードや Cypher を使用せずに非構造化テキストをナレッジ グラフに変換し、魔法のようなテキストからグラフへのエクスペリエンスを提供する革新的なオンライン アプリケーションです。ML モデル (LLM: OpenAI、Gemini、Diffbot) を使用して、PDF、Web ページ、YouTube ビデオをエンティティとその関係のナレッジ グラフに変換します。
フロントエンドはNeedle Starter Kitをベースにした React アプリケーションで、バックエンドは Python FastAPI アプリケーションです。Neo4j が LangChain に提供したllm-graph-transformer モジュールを使用します。
アプリケーションは、次の 4 つの簡単な手順でシームレスなエクスペリエンスを提供します。
当社では、クレジットカードや LLM キーを必要とせず、 Neo4j でホストされた環境でアプリケーションを提供しており、摩擦がありません。
あるいは、ローカルまたは環境内で実行するには、パブリックGitHub リポジトリにアクセスし、この投稿で説明する手順に従ってください。
LLM Knowledge Graph Builder を開いて使用する前に、新しい Neo4j データベースを作成しましょう。そのためには、次の手順に従って無料の AuraDB データベースを使用できます。
Neo4j データベースが実行され、資格情報が取得できたので、LLM Knowledge Graph Builder を開き、右上隅の「Neo4j に接続」をクリックします。
以前にダウンロードした資格情報ファイルを接続ダイアログにドロップします。すべての情報が自動的に入力されます。または、すべてを手動で入力することもできます。
このプロセスは、非構造化データの取り込みから始まり、その後、LLM に渡されて主要なエンティティとその関係が識別されます。
左側の最初の入力ゾーンに PDF やその他のファイルをドラッグ アンド ドロップできます。2 番目の入力では、使用したい YouTube 動画へのリンクをコピー/貼り付けることができ、3 番目の入力では Wikipedia ページのリンクを取得できます。
この例では、GraphACME というサプライチェーン企業に関するいくつかの PDF、 Forbes のプレス記事、Corporate Sustainability Due Diligence Directive (CSDDD) に関するYouTube 動画、および Wikipedia のCorporate Sustainability Due Diligence DirectiveとBangladeshの 2 ページを読み込みます。
ファイルをアップロードする際、アプリケーションは LangChain ドキュメント ローダーと YouTube パーサーを使用して、アップロードされたソースをグラフ内のドキュメント ノードとして保存します。すべてのファイルがアップロードされると、次のような画面が表示されます。
今必要なのは、使用するモデルを選択し、 「グラフの生成」をクリックすることだけです。あとは魔法に任せてください。
ファイル選択のみを生成する場合は、最初にファイルを選択し(テーブルの最初の列のチェックボックスを使用)、グラフの生成をクリックします。
⚠️定義済みまたは独自のグラフ スキーマを使用する場合は、右上隅の設定アイコンをクリックしてドロップダウンから定義済みスキーマを選択するか、ノード ラベルと関係を書き留めて独自のスキーマを使用するか、既存の Neo4j データベースから既存のスキーマを取得するか、テキストをコピー/貼り付けして LLM に分析させてスキーマの提案を依頼することができます。
ファイルを処理してナレッジ グラフを作成している間、内部で何が起こっているかをまとめてみましょう。
ドキュメントから抽出された情報はグラフ形式に構造化され、エンティティはノードになり、関係はこれらのノードを接続するエッジになります。Neo4j を使用する利点は、これらの複雑なデータ ネットワークを効率的に保存およびクエリできるため、生成されたナレッジ グラフがさまざまなアプリケーションですぐに役立つことです。
RAG エージェントを使用してデータについて質問する前に、チェックボックスを使用して 1 つのドキュメント (または複数のドキュメント) を選択し、 [グラフの表示] をクリックします。これにより、選択したドキュメントに対して作成されたエンティティが表示されます。また、そのビューにドキュメント ノードとチャンク ノードを表示することもできます。
「Bloom でグラフを開く」ボタンをクリックすると、 Neo4j Bloomが開き、新しく作成したナレッジ グラフを視覚化してナビゲートできるようになります。次のアクション「ファイルの削除」では、選択したドキュメントとチャンクがグラフから削除されます (オプションで選択した場合はエンティティも削除されます)。
さて、最後の部分、右側のパネルに表示される RAG エージェントです。
下の画像は、GraphRAG プロセスの簡略化されたビューを示しています。
ユーザーが質問すると、検索クエリで Neo4j ベクトル インデックスを使用して、質問に最も関連性の高いチャンクとそれに接続されたエンティティを 2 ホップの深さまで検索します。また、チャット履歴を要約し、それをコンテキストを充実させる要素として使用します。
さまざまな入力とソース (質問、ベクター結果、チャット履歴) はすべて、カスタム プロンプトで選択された LLM モデルに送信され、提供された要素とコンテキストに基づいて、質問に対する応答を提供してフォーマットするように求められます。もちろん、プロンプトには、フォーマット、ソースの引用の要求、回答が不明な場合は推測しないなど、さらに多くの魔法があります。完全なプロンプトと手順は、 QA_integration.pyのFINAL_PROMPTにあります。
この例では、GraphACME (ヨーロッパに拠点を置く) という架空の会社に関する内部文書を読み込み、サプライチェーン戦略と製品全体を作成して文書化しました。また、新しい CSDDD、その影響、規制について説明したプレス記事と YouTube 動画も読み込みました。これで、チャットボットに社内 (架空の) 会社に関する知識について質問できるようになりました。CSDDD 法に関する質問や、GraphACME が製造する製品のリスト、それらが CSDDD 規制の影響を受けるかどうか、影響を受ける場合は会社にどのような影響があるかなど、両方に関する質問もできます。
ホーム画面の右側には、チャット ウィンドウに 3 つのボタンが付いています。
RAG エージェントの回答では、応答の後に次の 3 つの特徴が見つかります。
LLM Knowledge Graph Builder についてさらに詳しく知るには、 GitHub リポジトリでソース コードやドキュメントなどの豊富な情報を参照してください。さらに、ドキュメントでは開始方法に関する詳細なガイダンスが提供されており、 GenAI Ecosystem では、利用可能なより幅広いツールやアプリケーションに関する詳細な情報を提供しています。
LLM Knowledge Graph Builder でのあなたの経験は、非常に貴重です。バグに遭遇したり、新機能の提案があったり、貢献したい場合、または特定の機能強化を希望する場合は、コミュニティ プラットフォームがあなたの考えを共有するのに最適な場所です。コーディングに精通している方にとって、GitHub に直接貢献することは、プロジェクトの発展に役立つやりがいのある方法です。あなたの意見や貢献は、ツールの改善に役立つだけでなく、協力的で革新的なコミュニティの育成にも役立ちます。
GenAI アプリケーションの新しいリソースの詳細: Neo4j GraphRAG エコシステム ツール。これらのオープンソース ツールを使用すると、ナレッジ グラフに基づいた GenAI アプリケーションを簡単に開始でき、応答の品質と説明可能性を向上させ、アプリの開発と導入を加速できます。