関数とモデル推論の概要
Zilliz Cloudは、セマンティック検索、語彙検索、ハイブリッド検索、インテリジェントな再ランキングなど、最新の検索システムを構築するための統合された検索アーキテクチャを提供します。これらの機能を個別の機能として公開するのではなく、Zilliz Cloudはそれらを単一のコア抽象化である関数を中心に整理しています。
関数とは何か?
Zilliz Cloudでは、関数は、検索ワークフローの定義された段階で特定の操作を適用する、設定可能な実行単位です。
関数は、次の3つの実用的な質問に答えます。
-
この操作はいつ実行されるか? 検索前または検索後。
-
どのような入力に対して操作を行うか? 生のテキスト、ベクトル表現、または取得された候補結果。
-
どのような出力を生成するか? 取得に使用されるベクトル埋め込み、またはユーザーに返される再順序付けされた結果。
ワークフローの観点から見ると、関数は検索の2つの異なる段階で参加します。
-
検索前: 関数は検索前に実行され、テキストをベクトル表現に変換します。これらのベクトルは、どの候補が取得されるかを決定します。
-
検索後: 関数は候補取得後に実行され、候補セットを変更せずに結果の順序を調整します。
次の図は、検索ワークフローにおける関数の動作の抽象化を示しています。

すべての検索リクエストは、同じ高レベルのフローに従います。
-
検索前関数は、入力テキストからベクトル表現を生成します。
-
検索エンジンは、それらのベクトルに基づいて候補結果を取得します。
-
(オプション) 検索後関数は、取得された候補を再ランク付けします。
関数のカテゴリ
Zilliz Cloudの関数は、検索ワークフローでいつ実行されるかとそれらが果たす役割に基づいて分類されます。大まかに言えば、関数は2つのグループに分けられます。
-
検索前関数: テキストをベクトル埋め込みに変換し、候補の取得を決定します。
-
検索後関数: 取得された候補の順序を調整します。
検索前関数: テキストをベクトル埋め込みに変換する
検索前関数は、候補取得前に実行されます。その役割は、保存されたドキュメントと受信クエリの両方の生のテキストを、検索エンジンが関連する候補を識別するために使用するベクトル表現に変換することです。
異なる検索前関数は異なる種類の埋め込みを生成し、これは取得の実行方法に直接影響します。
以下の表は、利用可能な検索前関数をまとめたものです。
関数タイプ | ベクトルタイプ | 説明 | 典型的なシナリオ |
|---|---|---|---|
BM25 関数 | 疎な埋め込み | 用語の一致、用語の頻度、およびドキュメント長の正規化に基づいて語彙の関連性を計算します。 データベースエンジン内でローカルメカニズムとして完全に実行されます。モデル推論は不要です。 | キーワード駆動の全文検索、ドキュメントおよびコード検索、および用語の一致、低遅延、決定論的動作が重要なワークロード。 |
モデルベースの埋め込み関数 | 密な埋め込み | 機械学習モデルを使用してテキストのセマンティックな意味をエンコードし、厳密なキーワードを超えた類似性ベースの取得を可能にします。 ホスト型モデルまたはサードパーティモデルサービスを介したモデル推論が必要です。 | セマンティック検索、自然言語クエリ、Q&AおよびRAGパイプライン、および文字通りの用語の重複よりも概念的な類似性が重要なユースケース。 |
すべての検索前関数は、ドキュメントデータとクエリテキストの両方に一貫して適用され、同じ表現空間内で取得が実行されることを保証します。
検索後関数: 候補結果を再ランク付けする
検索後関数は、候補取得後に適用されます。その目的は、候補セットから項目を追加または削除することなく、取得された候補のランキングを調整することです。
これらの関数は、検索段階で返された結果のみを操作し、結果の品質を向上させるために追加のランキングロジックまたは関連性シグナルを適用します。これらは、インデックス作成、取得、またはフィルタリングの動作には影響しません。結果の最終的な順序付けのみに影響します。
以下の表は、利用可能な検索後関数をまとめたものです。
関数タイプ | 操作対象 | 説明 | 典型的なシナリオ |
|---|---|---|---|
ハイブリッド検索ランカー | ハイブリッド検索から取得された複数の結果セット | 重み付けランキングや相互ランク融合 (RRF) などの方法を使用して、異なる取得戦略から取得された結果を結合および再調整します。 | セマンティック検索と語彙検索を組み合わせ、バランスの取れた結果融合が必要なハイブリッド検索シナリオ。 |
ルールベースのランカー | 単一ベクトルまたはハイブリッド検索からの候補結果 | ビジネス駆動のランキングロジック、新しさや人気度のブースト、および予測可能で非MLの再ランキングが必要なシナリオ。 | |
モデルベースのランカー | 単一ベクトルまたはハイブリッド検索からの候補結果 | 機械学習モデルを使用して関連性を評価し、学習されたまたはセマンティックなシグナルに基づいて結果を再順序付けします。 | インテリジェントな再ランキング、セマンティックな理解を使用した関連性の調整、およびLLMベースの関連性評価。 |
検索後関数は取得された候補のみを操作するため、結果の順序には影響しますが、取得範囲には影響しない調整ステップです。
モデル推論を理解する
Zilliz Cloudの関数ベースのアーキテクチャでは、モデル推論はスタンドアロンの概念や実行段階ではありません。代わりに、機械学習ベースのシグナルが必要な場合に特定の関数タイプで使用される実装の詳細です。
モデル推論がどこに適合するか
モデル推論とは、機械学習モデルのランタイム実行を指し、次のようなセマンティックシグナルを生成します。
-
テキストから派生した密なベクトル埋め込み
-
検索結果を再ランク付けするために使用される関連性スコア
Zilliz Cloud内では、モデル推論はモデルベースの関数のみで使用されます。これには以下が含まれます。
-
生のテキストを密なベクトル埋め込みに変換するモデルベースの検索前関数
-
関連性を評価し、取得された候補を再順序付けするモデルベースのランカー
BM25関数やルールベースのランカーなどの他の関数は、データベースエンジン内で完全に実行され、モデル推論を必要としません。
モデル推論のソース
Zilliz Cloudは、モデル推論の2つのソースをサポートしています。どちらもモデルベースの機能を提供しますが、モデルのプロビジョニングと管理方法が異なります。
側面 | ホスト型モデル | サードパーティモデルサービス |
|---|---|---|
モデルが実行される場所 | Zilliz Cloud内 | 外部モデルプロバイダー (OpenAI、Voyage AIなど) |
モデルを管理する者 | Zilliz Cloud | 外部モデルプロバイダー |
アクセス設定方法 | ホスト型モデルを参照 | ご自身でのモデルプロバイダー連携を通じて |
認証情報 | Zilliz Cloudサポートとのオンボーディング中に提供されます | お客様が提供 (例: API キー) |
典型的なユースケース | 密接に統合された、またはカスタマイズされたデプロイメント | 確立されたプロバイダーの標準モデルを使用する |
セットアップの複雑さ | 高い (オンボーディングが必要) | 低い (既存のAPIキーを接続する) |
ホスト型モデルを選択する場合:
-
Zilliz Cloudとの密接な統合 (単一ベンダー、統合サポート)
-
カスタムモデルのファインチューニングまたは特殊なモデル
-
予測可能なパフォーマンスとレイテンシ
-
簡素化された認証情報管理
サードパーティモデルサービスを選択する場合:
-
既存のモデルプロバイダーとの関係がある
-
OpenAIなどのプロバイダーの最新モデルを活用したい
-
プロバイダーを切り替える柔軟性を好む
サポートされているモデルプロバイダー
Zilliz Cloudは、さまざまな機能を提供する主要なモデルプロバイダーと統合されています。以下の表は、どのプロバイダーがテキスト埋め込みと再ランキングをサポートしているかを示しています。
プロバイダーの可用性とサポートされる機能は、地域やリリースによって異なる場合があります。最新の情報については、プロバイダー固有のドキュメントを参照してください。
モデルプロバイダー | テキスト埋め込み | 再ランキング |
|---|---|---|
OpenAI | いいえ | |
Voyage AI | ||
Cohere |