MongoDB は、 AIパイプラインとエージェントを構築するためのオープンソース ビジュアルフレームワークである Lgflow と統合できます。 LingflowMongoDB Atlas はMongoDB ベクトル検索 をベクトルストアとして使用する コンポーネントを提供するため、コードを記述せずにMongoDBベースの検索をフローに追加できます。
MongoDB Atlas コンポーネントを使用すると、次のアクションを実行できます。
データの取り込み: ドキュメントとその埋め込みをコレクションに書き込みます 。
類似性検索: 類似性検索を実行し、一致するドキュメントを返します。
エージェント ツールの設定: エージェントがMongoDBデータにアクセスできるようにします。
はじめる
MongoDBを使用するように Lgflow を構成するチュートリアルを完了するには、「 Lgflow 統合を使い始める 」を参照してください。
インストール
lfx-bundlesパッケージは、MongoDB Atlas コンポーネントを含む任意のサードパーティ統合を提供します。 MongoDB の依存関係をインストールするには、次のコマンドを実行します。
uv pip install "lfx-bundles[mongodb]"
あるいは、すべてのバンドル プロバイダーと Lgflow をインストールするには、次のコマンドを実行します。
uv pip install "langflow[bundles]"
重要
Dockerイメージ
MongoDB AtlasDockerでlangflowai/langflow-all langflowai/langflowコンポーネントを使用するには、デフォルトのlangflow-all イメージではなく イメージを使用します。langflow[bundles] イメージには、MongoDB Atlas コンポーネントを提供する が含まれています。詳しくは、「 Lgflow Dockerイメージの選択 」を参照してください。
使用法
MongoDB をフロー内のベクトルストアとして使用するには、MongoDB カテゴリから MongoDB Atlas コンポーネントを値がカンダに追加され、コンポーネント検査パネルでその接続パラメータとインデックスパラメータを設定します。
次のタブでは、フロー内で コンポーネントを使用するさまざまな方法について説明します。
ドキュメントとその埋め込みをコレクションに書き込む には、データローダーと Split Text コンポーネントを Ingest Data 入力に接続します。
File or URL loader → Split Text → MongoDB Atlas
類似性検索を実行して一致するドキュメントを返すには、Chat Input またはその他のテキスト生成コンポーネントを Search Query 入力に接続します。
Chat Input → MongoDB Atlas → Chat Output
エージェントがコレクションにアクセスできるようにするには、MongoDB Atlas コンポーネントのヘッダー メニューで Tool Mode を有効にします。次に、その出力を Agent コンポーネントの Tools 入力に接続します。
MongoDB Atlas → Agent (Tools)
MongoDB Atlas コンポーネントを使用してコレクションをクエリすると、コンポーネントはJSONオブジェクトのリストまたは表形式の結果として、フロー内の他のコンポーネントに渡すことができる結果を返します。両方の形式が使用できる場合は、ビジュアル エディターのコンポーネントの出力ポートの近くに形式を設定できます。
検索を初めて実行するときに、コンポーネントは Index Name パラメーターに指定されたMongoDB ベクトル検索インデックスが存在するかどうかを確認します。そうでない場合、コンポーネントは Index Field、Number of Dimensions、Similarity、Quantization パラメーターからインデックスを作成し、続行する前に 20 秒待機します。その待機時間ではインデックスのビルドが完了したことは確認されないため、インデックスの作成後すぐに実行されるクエリでは空の結果が返される可能性があります。
パラメーター
ビジュアル エディターでは一部のパラメーターはデフォルトで非表示になっています。コンポーネントを選択すると表示されるコンポーネント検査パネルで、すべてのパラメーターを表示および変更できます。
検索インデックス
MongoDB Atlasコンポーネントは、一致するインデックスがまだ存在しない場合、初めて検索を実行するときにコレクションにMongoDB ベクトル検索インデックスを作成します。このインデックスを手動で作成や検査することもできます。詳細については、 「 MongoDB ベクトル検索インデックスの作成」 を参照してください。
インデックスは次の定義を使用します。ここで、pathフィールドはIndex Field 値を指定し、numDimensionsフィールドはNumber of Dimensions 値を指定し、similarityフィールドはSimilarity 値を指定します。
{ "fields": [ { "numDimensions": 1536, "path": "embedding", "quantization": "scalar", "similarity": "cosine", "type": "vector" } ] }
Filter Field 値を設定すると、コンポーネントはそのパスの filter 型フィールドをインデックス定義に追加します。
重要
必要な値
検索を実行する前に、 量子化 の値を選択します。フィールドを設定されていないままにすると、インデックス作成は失敗します。これは、フィールドquantization を省略する代わりに、コンポーネントがnull フィールドを に設定するためです。
埋め込みモデルがデフォルトの とは異なる次元数を生成する場合は、それに応じて 次元数1536 パラメータを設定していることを確認してください。
追加リソース
MongoDBで Llang を使用する方法の詳細については、次のリソースを参照してください。
Lgflow GitHubリポジトリ