Milvusとn8n入門
n8nとMilvus Vector Store Nodeの紹介
n8nは強力なオープンソースのワークフロー自動化プラットフォームであり、様々なアプリケーション、サービス、APIを接続することで、コーディングなしで自動化ワークフローを作成することができます。ノードベースのビジュアルインターフェースにより、異なるサービスやアクションを表すノードを接続するだけで、複雑な自動化プロセスを構築することができます。n8nはセルフホスト可能で、拡張性が高く、フェアコードとエンタープライズライセンスの両方をサポートしています。
n8nのMilvus Vector Storeノードは、Milvusをオートメーションワークフローに統合します。これにより、n8nエコシステム内で、セマンティック検索、検索拡張世代(RAG)システムのパワーアップ、インテリジェントAIアプリケーションの構築が可能になります。
このドキュメントは主にn8n Milvus Vector Storeの公式ドキュメントに基づいています。もし古い内容や一貫性のない内容がありましたら、公式ドキュメントを優先してお読みください。
主な機能
n8nのMilvus Vector Storeノードでは、以下のことが可能です:
- Milvusデータベースをベクターストアとして扱うことができます。
- Milvusにドキュメントを挿入する。
- Milvusからドキュメントを取得する。
- チェーンに接続されたレトリーバーにドキュメントを提供するためにドキュメントを取得する。
- ツールとして エージェントに直接接続する
- メタデータに基づいてドキュメントをフィルタリングする
ノードの使用パターン
n8nのMilvus Vector Storeノードは以下のパターンで利用することができます。
通常のノードとしてドキュメントの挿入・取得を行う
Milvus Vector Storeを通常のノードとして利用し、文書の挿入や取得を行うことができます。このパターンでは、Milvus Vector Storeをエージェントを使わずに通常の接続フローに配置します。
Milvusにドキュメントを保存し、引用されたチャットベースの回答をサポートするためにドキュメントを取得するシステムの構築方法については、このサンプルテンプレートを参照してください。
ツールとしてAIエージェントに直接接続
MilvusベクターストアノードをAIエージェントのツールコネクタに直接接続することで、問い合わせに回答する際のリソースとしてベクターストアを利用することができます。
ここでは以下のように接続します:AIエージェント(ツールコネクタ) -> Milvus Vector Storeノード.Milvusにデータが埋め込まれ、インデックスが作成され、AIエージェントがベクターストアをナレッジツールとして使用し、質問に回答する例です。
ドキュメントの取得にレトリバーを使用する
Vector Store RetrieverノードをMilvus Vector Storeノードと一緒に使用することで、Milvus Vector Storeノードからドキュメントをフェッチすることができます。これはよくQuestion and Answer Chainノードと共に使用され、指定されたチャット入力にマッチするドキュメントをベクターストアからフェッチします。
典型的なノードの接続フローは以下のようになります:Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> Milvus Vector Store.
Milvusに外部データを取り込み、チャットベースのセマンティックQ&Aシステムを構築する方法については、こちらのワークフロー例をご覧ください。
ベクターストアの質問回答ツールを使って質問に答える
Vector Store Question Answer Toolを使用して、Milvus Vector Storeノードからの結果を要約し、質問に回答するパターンもあります。このパターンでは、Milvus Vector Storeを直接ツールとして接続するのではなく、Vector Storeのデータを要約するために特別に設計されたツールを使用します。
接続の流れは以下のようになる:AIエージェント(ツールコネクタ) -> ベクターストア質問回答ツール(ベクターストアコネクタ) -> Milvusベクターストア.
ノード操作モード
Milvus Vector Storeノードは複数のオペレーションモードをサポートしており、それぞれが異なるワークフローのユースケースに合わせて調整されています。これらのモードを理解することで、より効果的なワークフローを設計することができます。
以下に利用可能なオペレーションモードとオプションの概要を説明します。各モードの入力パラメータと設定オプションの完全なリストについては、公式ドキュメントを参照してください。
オペレーションモードの概要
Milvus Vector Storeノードは4つのモードをサポートしています:
- Get Many:プロンプトとの意味的類似性に基づいて複数の文書を取得します。
- 文書を挿入する:Milvusコレクションに新しい文書を挿入します。
- ドキュメントの取得 (Vector Store for Chain/Tool として):チェーンベースのシステム内でノードをリトリーバーとして使用します。
- ドキュメントを取得する(AIエージェントのツールとして):質問応答タスク中にAIエージェントのツールリソースとしてノードを使用します。
追加ノードオプション
- メタデータフィルター(Get Many モードのみ):カスタムのメタデータキーに基づいて結果をフィルタリングします。複数のフィールドに AND 条件を適用します。
- コレクションをクリア(ドキュメント挿入モードのみ):新しい文書を挿入する前に、コレクションから既存の文書を削除します。