Docs Menu
Docs Home
/

投票AI埋め込みを使用したセマンティック検索

このガイドでは、Voyage AIモデルを使用してセマンティック検索を実行する方法について説明します。このページには、再ランク付けによる検索、多言語、マルチモーダル、コンテキスト付きチャンク、大規模なコーパス検索など、基本的および高度なセマンティック検索のユースケースの例が含まれています。

セマンティック検索ワークフローの図
クリックして拡大します

このセクションでは、さまざまな Vyage AIモデルを使用したさまざまなセマンティック検索のユースケースのコード例を示します。各 の例に対して、同じ基本手順を実行します。

  1. ドキュメントを埋め込み: データをその意味をキャプチャするベクトル埋め込みに変換します。こうしたデータは、テキスト、画像、ドキュメントチャンク、またはテキストの大規模なコレクションにすることができます。

  2. クエリを埋め込む:検索クエリーをドキュメントと同じベクトル表現に変換します。

  3. 類似したドキュメントを検索します: クエリベクトルとドキュメントベクトルを比較して、最もセマンティックに類似した結果を識別します。

このチュートリアルの実行可能なバージョンをPythonノートとして操作します。

1

始める前に、プロジェクトディレクトリを作成し、ライブラリをインストールし、モデルAPIキーを設定します。

  1. ターミナルで次のコマンドを実行して、このチュートリアル用の新しいディレクトリを作成し、必要なライブラリをインストールします。

    mkdir voyage-semantic-search
    cd voyage-semantic-search
    pip install --upgrade voyageai numpy datasets
  2. モデルAPIキーをまだ作成していない場合は、手順に従って、モデル API キーを作成し、ターミナルで次のコマンドを実行して環境変数としてエクスポートします。

    export VOYAGE_API_KEY="your-model-api-key"
2

セマンティック検索の各タイプのコード例については、各セクションを展開してください。

次の表は、このページの例をまとめたものです。

使用されるモデル
結果の理解

基本セマンティック検索

voyage-4-large

Apple カンファレンスのドキュメント は1 番目の にランクされ、無関係なドキュメントよりも大幅に高く、正確なセマンティック一致を示しています。

Reranker によるセマンティック検索

voyage-4-large および rerank-2.5

再ランク付けにより、 クエリとドキュメントの完全な関係を分析し、検索の精度が向上します。類似性を埋め込むだけでは、正しいドキュメントが中程度のスコアで最初にランク付けされますが、reranker は関連性スコアを大幅に引き上げ、関連性のない結果との区別を向上させます。

多言語セマンティック検索

voyage-4-large

投票モデルは、さまざまな言語にわたってセマンティック検索を効果的に実行します。この例では、英語、スペイン語、中国語の 3 つの個別の検索が示されており、それぞれの言語内でテクノロジー会社の売上に最も関連するドキュメントを正しく識別しています。

マルチモーダル セマンティック検索

voyage-multimodal-3.5

このモデルは、テキスト、画像、ビデオのインターリーブ、およびイメージのみとビデオのみの検索をサポートしています。どちらの場合も、犬と猫のイメージは、無関係なバナーのイメージよりも大幅に高く、視覚的コンテンツが正確に取得されていることが示されます。説明的なテキストを含むインターリーブ入力では、画像のみの入力よりもわずかに高い類似性スコアが生成されます。

コンテキストに基づくチャンク埋め込み

voyage-context-3

15% の収益増加チャンクは、 Leafy Inc.ドキュメントにリンクされているため、1 番目にランク付けされます。 Green グループの同様の 7% 増加チャンクのスコアは低く、モデルがドキュメントのコンテキストを正確に考慮して、類似したチャンクとを区別する方法を示しています。

大規模なコレクションを使用したセマンティック検索

voyage-4-large

ユーザー コンテンツに関する真実のドキュメントは、 154 ドキュメントの中で 1 番目にランク付けされ、セマンティックな複雑さにもかかわらず増やす効果的な取得が行われます。

セマンティック検索とは、データのセマンティックまたは基礎となる意味に基づいて結果を返す検索メソッドです。テキスト一致を検索する従来の全文検索とは異なり、セマンティック検索は多次元空間内の検索クエリーに近いベクトルを検索します。ベクトルがクエリに近づくほど、それらの意味は大きくなります。

従来のテキスト検索では完全一致のみが返されるため、データ内のタームとは異なるタームでユーザーが検索する場合に結果が制限されていました。例、データにコンピューター マウスとワイルドマウスに関するドキュメントが含まれている場合、コンピューター マウスに関する情報を検索しようとしているときに「mous」を検索すると、誤った一致が発生します。

ただし、セマンティック検索では、レプリカセットに重複がない場合でも、単語またはフレーズ間の基礎となる関係がキャプチャされます。コンピューター製品を探しているときに「mouse」を検索すると、より関連性の高い結果が得られます。これは、正確な検索タームに関係なく、セマンティック検索では検索クエリーのセマンティック意味をデータと比較して、最も関連性の高い結果のみが返されるためです。

セマンティック類似性を示す図
クリックして拡大します

ベクトルをメモリに保存し、独自の検索パイプラインを実装することはプロトタイプ作成や実験に適していますが、実稼働アプリケーションではベクトルデータベースとエンタープライズ検索ソリューションを使用すると、より大きなコレクションから効率的な取得を実行できます。

MongoDB はベクトルストレージと検索のネイティブ サポートを備えているため、他のデータと並行してベクトル埋め込みを保存および検索するのに便利です。 MongoDB ベクトル検索を使用してセマンティック検索を実行するチュートリアルを完了するには、「 Atlas クラスターのデータに対してセマンティック検索を実行する方法 」を参照してください。

セマンティック検索と LM を組み合わせて、RAGアプリケーション を実装します。

次へ

RAG

項目一覧