AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

自動埋め込みの概要

MongoDB ベクトル検索を構成して、Atlas クラスター内のテキスト データのvector embeddingsを自動的に生成および管理できます。自動埋め込みを有効にすると、 MongoDB ベクトル検索 は、コレクション内の指定されたテキストフィールドのインデックス時にと、クエリ内のテキスト string のクエリ時に、指定された Vyage AI embedding model を使用して埋め込みを自動的に生成します。

自動埋め込み により、セマンティック検索を構築するプロセスが簡素化されます。vector embeddingsを自分で生成、保存、または管理する必要はありません。Atlas は埋め込みの生成、更新、クエリをネイティブに処理します。

注意

自動埋め込みを使用すると、MongoDB ベクトル検索は生成されたベクトル埋め込みをクラスターに保存します。

専有クラスター(M10+)で自動埋め込みを使用する場合は、ストレージのオートスケーリングを有効にする必要があります。クラスターのディスクスペースが不足すると、MongoDB ベクトル検索は埋め込み生成を一時停止し、インデックスは Stale 状態に移行します。ディスクスペースが解放されると、MongoDB ベクトル検索は埋め込み生成を再開します。

自動埋め込みを有効にするには、autoEmbed タイプを使用してMongoDB ベクトル検索インデックスを作成します。autoEmbed タイプは、自動埋め込みを有効にするフィールドと使用するembedding modelを指定します。1 つ以上のフィールドを含めて、filter タイプを使用してデータを事前にフィルターすることもできます。

{ "fields": [ { "type": "autoEmbed", "modality": "text", "path": "<field-to-index>", "model": "<embedding-model>" }, { "type": "filter", "path": "<field-to-index>" }, ... ]}

インデックス構文とフィールドの詳細については、 「ベクトル検索のフィールドにインデックスを作成する方法」 を参照してください。

MongoDB ベクトル検索 は、挿入または更新した既存と新規のdocumentの埋め込みを自動的に生成します。

インデックスを 作成 したら、クエリを実行できます。MongoDB ベクトル検索 は、インデックスで指定したのと同じembedding modelを使用して、クエリテキストの埋め込みを自動的に生成します。オプションで、$vectorSearchパイプラインステージで model オプションを使用して別のembedding modelを指定できますが、指定されたembedding modelは、インデックス時に使用されるembedding modelと互換性がある必要があります。

[ { "$vectorSearch": { "index": "<index-name>", "path": "<field-to-index>", "query": "<query-text>", "model": "<embedding-model>" } }, { "$project": { "_id": 0, "<field-to-index>": 1, "score": { "$meta": "vectorSearchScore" } } }]

詳しく学ぶには、ベクトル検索 近似最近傍探索 および 厳密最近傍探索 クエリの実行.を参照してください。

自動埋め込みインデックスはvector embeddingsを非同期に生成し、別の 予約データベース上のMongoDBクラスターに永続化します。各自動埋め込みインデックスには、対応する生成された埋め込みコレクションが 1 つだけあります。生成された埋め込みコレクションは、同じクラスター上の専用の内部データベースに保存されます。

詳細については、生成された埋め込みコレクション を参照してください。

MongoDB Vector Search は、それぞれ特定のユースケースに合わせて最適化された、Voyage AI の最新の埋め込みモデルと統合します。

埋め込みモデル
説明
1M トークンあたりの価格

voyage-4-lite

大規模でコストのかかるアプリケーションに最適化されます。

$0.02

voyage-4

(推奨)一般的なテキスト検索のバランスの取れたパフォーマンス。

$0.06

voyage-4-large

複雑なセマンティック関係の最大精度。

$0.12

voyage-code-4

(コード向けにおすすめ) コード検索と技術ドキュメントに特化されています。

$0.12

voyage-code-3

コード検索と技術ドキュメントに特化されたレガシーモデル。voyage-code-4 を使用してください。

$0.18

注意

voyage-code-4 Atlas配置が必要です。自己管理型の配置では、コード検索と技術ドキュメントにvoyage-code-3を使用してください。

詳細については、自動埋め込みのmodel を参照してください。

埋め込みモデル

Embedding modelsは、データのセマンティックまたは基礎となる意味を取得するvector embeddingsにデータを変換するアルゴリズムです。これらのベクトルによりベクトル検索が可能になります。

自動埋め込みのembedding modelの詳細については、利用可能なモデルを参照してください。

ベクトル埋め込み

ベクトル埋め込みは数値の配列であり、各次元はデータの異なる機能または属性を表します。ベクトルは、テキスト、画像、ビデオから非構造化データまで、任意のタイプのデータを表すために使用できます。埋め込みモデルにデータを渡すことでベクトル埋め込みを作成し、これらの埋め込みをMongoDBのようなベクトル埋め込みをサポートするデータベースに保存できます。

自動埋め込みの埋め込みストレージの詳細については、生成された埋め込みコレクション を参照してください。

tokens

埋め込みモデルと LLM のコンテキストでは、トークンとは、埋め込みの作成やテキストの生成のためにモデルが処理する単語、サブワード、文字などのテキストの基本単位です。トークンは、埋め込みモデルと LLM の使用量に対して課金される方法を示します。

自動埋め込みのトークンの詳細については、自動埋め込みの請求の管理 を参照してください。

レート制限

レート制限は、ユーザーが特定の時間枠内で実行できるリクエスト数に対してAPIプロバイダーによって課せられる制限であり、1 分あたりのトークン(TPM)または 1 分あたりのリクエスト数(RPM)で測定されます。これらの制限により、均等な使用が確保され、不正を防ぎ、すべてのユーザーに対してサービスの安定性とパフォーマンスが維持されます。

自動埋め込みのレート制限の詳細については、レート制限を参照してください。

量子化

Quantizationによりvector embeddingsの精度が低下することで、メモリとストレージの使用量が削減されますが、検索精度がトレードオフされます。自動埋め込みの場合、 MongoDB ベクトル検索 は次の quantization タイプをサポートします。

Quantization タイプ
説明

float

vector embeddingsを 32 ビットのfloat値として保存します。

scalar

各ベクトル次元を 32 ビット float から 8 ビット整数に縮小します。

binary

各ベクトルdimensionsを 1 ビットに縮小し、上位結果を再スコア付けします。

binaryNoRescore

各ベクトルdimensionsを再スコアリングせずに 1 ビットに縮小します。

自動埋め込みのquantizationの詳細については、quantizationについてを参照してください。

次元数

次元数は、各documentの埋め込みベクトルの長さ(配列内の数値の数)を指定します。dimensionsが大きいほど、よりセマンティックな詳細がキャプチャされ、一般的に検索精度が向上しますが、ストレージとコンピューティングのコスト(インデックスサイズ、 RAM使用量、場合によってはレイテンシ)が増加します。

詳しくは、「 numCandidates 選択 」を参照してください。

類似性

類似性関数は、2 つのベクトル間の類似性、またはクエリベクトルがインデックス内のベクトルに近接していることを測定するために使用されます。MongoDB ベクトル検索 は次の類似性関数をサポートしています。

  • cosine - ベクトル間の角度に基づいて類似性を測定します。scalar 量子化のような非正規化ベクトルには、この類似度関数をお勧めします。

  • dotProduct - cosine と同様の類似性を測定しますが、ベクトルの大きさを考慮します。フロート (完全な忠実度) 量子化のような正規化されたベクトルには、この類似度関数をお勧めします。

  • euclidean - ベクトルの端点間の距離を測定します。この類似度関数は、ベクトルが圧縮され、アセットまたはユークリッド空間の距離が適切なシグナルである、binary または binaryNoRescore の quantization に推奨します。

自動埋め込みの類似性関数の詳細については、類似性関数についてを参照してください。

ルール バッジを取得する

「MongoDB を使用した RAG」を無料でマスターしましょう!

詳細

このページを評価