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