MongoDB ベクトル検索を配置し、 MongoDB ベクトル検索インデックスへの 自動埋め込み により、テキストデータに対してAIを使用したインテリジェントなセマンティック検索を有効にできます。MongoDB の自動埋め込み機能により、ベクトル検索実装の従来の複雑なプロセスが単一ステップのソリューションに変換されます。埋め込みインフラストラクチャ、モデル選択、統合コードを個別に管理する代わりに、簡単なフィールド構成でセマンティック検索を実装できるようになりました。
MongoDB Vector Searchインデックスを構成すると、選択した最新の Voyage AI埋め込みモデルを使用して、コレクション内のテキスト データのベクトル埋め込みが自動的に生成され、データが変更されるたびに埋め込みが同期されます。また、自然言語テキスト クエリの使用もサポートします。これらのベクトル埋め込みは、データ内の意味のある関係をキャプチャし、キーワードではなく意向に基づいて検索を可能にします。
Overview
簡単な構成変更で、埋め込みコードを記述したり、モデル インフラストラクチャを管理したり、ベクトルパイプラインを処理したりすることなく、AI エージェントのセマンティック検索、RAG、およびメモリを有効にすることができます。つまり、MongoDB Search およびベクトル検索プロセス mongot を使用して MongoDB Community Edition を配置する場合、埋め込みの生成に使用する Voyage AI APIキー を提供できます。理想的には、インデックスの作成操作用と、さまざまなプロジェクトからのクエリ操作用にもう 1 つです。
配置後:
コレクションから、セマンティック検索を有効にするテキストフィールドを選択します。
使用可能な埋め込みモデルのリストから、埋め込みモデルを選択します。
MongoDB Vector Searchインデックス定義で、
autoEmbedタイプを使用して自動埋め込みを構成します。
自動埋め込み用のMongoDB ベクトル検索インデックスの構成の詳細については、テキスト フィールドのインデックスを参照してください。
MongoDB Vector Search は、 MongoDB Community Edition の初期化時に指定した APIキーを使用して、挿入またはアップデートする既存と新規のドキュメント用の埋め込みを自動的に生成します。
注意
生成された埋め込みは、同じクラスター上の別のシステムコレクションに保存されます。
クエリには、$vectorSearchパイプラインステージで query.text オプションを使用します。MongoDB Vector Search は、インデックス定義で同じ埋め込みモデルを使用してテキストクエリの埋め込みを生成します。model オプションを使用して $vectorSearch パイプラインステージで別の埋め込みモデルを指定できますが、指定された埋め込みモデルは、インデックス時に使用される埋め込みモデルと互換性がある必要があります。MongoDB Vector Search は、 MongoDB Community の初期化中に提供したクエリAPIキーを使用して、クエリ時に埋め込みを生成します。「テキスト クエリの実行」を参照してください。
APIキーを使用して埋め込みを生成すると料金が発生します。「コスト」を参照してください。
埋め込みを自動化し、サンプルクエリを実行するには、使い始める を参照してください。
Voyage AI APIキー
インデックス時とクエリ時に単一のAPIキーを使用して埋め込みを生成できますが、クエリ操作がインデックスの作成操作に悪影響を与えないようにするために、個別のAPIキーを使用することをお勧めします。
APIキーは、次の方法で生成できます。
(推奨) Atlas アカウントの使用により、Atlas UIから Voyage AI埋め込みモデルAPIキーを管理できます。
レート制限( TPM と RPM の組み合わせ)の構成やAPIキーの使用状況のモニタリングなど、 APIキーの生成と管理の詳細については、「 モデルAPIキー 」を参照してください。
Voyage AIから作成されたAPIキーの管理の詳細については、「APIキー」を参照してください。
キーの作成後、 MongoDB Community Edition を使用した配置中に mongot を構成するときに、自動埋め込みに使用するキーを指定する必要があります。MongoDB Vector Search は、mongot の配置中に提供した Voyage AI API キーを使用して、インデックス時にデータの埋め込みを自動的に生成し、クエリ時にクエリテキストの埋め込みを自動的に生成します。
サポートされている埋め込みモデル
MongoDB Vector Search は、それぞれ特定のユースケースに合わせて最適化された、Voyage AI の最新の埋め込みモデルと統合します。
埋め込みモデル | 説明 |
|---|---|
| 大規模でコストのかかるアプリケーションに最適化されます。 |
| (推奨)一般的なテキスト検索のバランスの取れたパフォーマンス。 |
| 複雑なセマンティック関係の最大精度。 |
| コード検索と技術ドキュメントに特殊化されています。 |
コスト
埋め込みモデルの価格設定は使用量に基づいており、アクセスに使用されるAPIキーにリンクされたアカウントに料金が請求されます。価格は、テキストフィールドとクエリ内のトークンの数に基づいます。
注意
埋め込みモデルと LVM のコンテキストでは、トークンとは、埋め込みの作成やテキストの生成のためにモデルが処理する単語、サブワード、文字などのテキストの基本単位です。トークンは、埋め込みモデルと LM の使用量に対して課金される方法を示します。
Atlas アカウントを使用して作成したAPIキーを使用する場合は、Atlas UIからAPIキーの使用状況をモニターできます。詳しくは、請求を参照してください。
Voyage AIからAPIキーを直接生成した場合は、埋め込みサービス エンドポイントへのリクエストの料金の詳細について、価格を参照してください。
制限
自動埋め込み機能はプレビュー段階ですが、次の配置タイプではまだ使用できません。
Atlas クラスター
Atlas CLI を使用した Atlas のローカル配置
MongoDB Enterprise エディション
この機能は、 Docker、 tarball、またはパッケージマネージャーを使用するMongoDB Search およびMongoDB Vector Search の配置、およびMongoDB8.2 以降の Community Edition を持つKubernetes演算子用のMongoDBコント ロールを使用する配置でのみ使用できます。
はじめる
次のチュートリアルを使用して、 MongoDB ベクトル検索を構成してベクトル埋め込みを自動的に生成する方法を学習します。具体的には、次のアクションを実行します。
インデックス時に埋め込みを自動的に生成するテキスト データを含む、コレクション内のフィールドをインデックスします。
クエリ時に 自動生成される埋め込み を使用して、インデックス フィールドに対してテキスト クエリを実行する。
このチュートリアルでは、付属の sample_airbnb.listingsAndReviews を使用します。名前空間は、インデックス時に埋め込みを自動的に生成するためのコレクション内のテキストフィールドsummary にインデックスを付け、クエリ時に生成された埋め込みを使用してインデックス付きフィールドsummary に対してテキストクエリを実行する方法を示すものです。
前提条件
Atlas の サンプル データ セット からの映画データを含むコレクションを使用します。
MongoDB v8.2 以降の Community Edition をMongoDB Search およびMongoDB ベクトル検索で自己管理型配置
詳しくは、 MongoDB Community Edition のインストール を参照してください。
有効なVoyage AI APIキーまたはキー
詳しくは、Voyage AI APIキーを参照してください。
テキストフィールドのインデックスの作成
このチュートリアルで作成するインデックス定義は、sample_airbnb.listingsAndReviewsコレクション内の次のフィールドをインデックス化します。
summaryフィールドをautoEmbedタイプとして指定すると、voyage-4埋め込みモデルを使用してフィールドのテキスト データの埋め込みが自動的に生成されます。address.countryフィールドをfilterタイプとして指定し、フィールドの string 値を使用してセマンティック検索のデータを事前フィルタリングします。bedroomフィールドをfilterタイプとして表示し、フィールドの数値を使用してセマンティック検索のデータを事前フィルタリングします。
このインデックスを作成するには
テキストクエリの実行
このチュートリアルのクエリでは、次の処理が行われます。
sample_airbnb.listingsAndReviewsコレクション内のインデックス付きsummaryフィールドに対して を実行します。次の条件を使用してプロパティを事前フィルタリングします。
3以上のbedroomsを持つプロパティ。United Statesという名前のcountryのプロパティ。
voyage-4埋め込みモデルで自動生成された埋め込みを使用して、close to amusement parksであるプロパティのセマンティック検索を実行します。クエリでは以下の操作が実行されます。最大
100件の近傍を対象とします。結果を
10ドキュメントに制限します。
このクエリを実行するには、以下を行います。