すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:マルチモーダル埋め込み

最終更新日:Mar 01, 2026

マルチモーダル埋め込み API は、テキスト、イメージ、またはその両方の組み合わせを密ベクトル表現に変換します。生成された埋め込みベクターは、クロスモーダル取得(テキスト→イメージ、イメージ→テキスト)および類似検索に使用できます。

本サービスは Qwen2-VL マルチモーダル大規模言語モデル(MLLM)を基に学習されており、単一モーダル入力およびマルチモーダル入力の両方をサポートします。

利用可能なモデル

モデルサービス ID寸法対応言語説明
M2-Encoder-Multimodal Vector Modelops-m2-encoder768中国語・英語バイリンガルBM-6B を基に、60 億件の画像・テキストペア(中国語 30 億件、英語 30 億件)で学習済み。テキストとイメージ間のクロスモーダル取得およびイメージ分類をサポートします。
M2-Encoder-Large-Multimodal Vector Modelops-m2-encoder-large1024中国語・英語バイリンガルパラメーター数 10 億の大型モデルです。ops-m2-encoder と比較して、マルチモーダルタスクにおける表現力および性能が向上しています。
GME Multimodal Vector-Qwen2-VL-2Bops-gme-qwen2-vl-2b-instruct1536Qwen2-VL MLLM を基に学習済み。単一モーダルおよびマルチモーダルの入力組み合わせをサポートし、テキスト、イメージ、およびそれらの複合データ型を処理できます。
説明

ops-m2-encoder および ops-m2-encoder-large では、1 つのドキュメント内にテキストとイメージを同時に指定できません。

レート制限

クエリ/秒(QPS)の制限は、Alibaba Cloud アカウント単位で適用され、当該アカウント配下のすべての RAM ユーザーを含みます。

モデルQPS
ops-m2-encoder10

より高い QPS 制限をご希望の場合は、チケットを送信してください。

前提条件

開始する前に、以下の準備を行ってください。

API リファレンス

エンドポイント

POST {host}/v3/openapi/workspaces/{workspace_name}/multi-modal-embedding/{service_id}

パスパラメーターを実際の値に置き換えます。

パラメーター説明
hostサービスエンドポイント。インターネットおよび VPC アクセスをサポートします。http://ops-cn-hangzhou.opensearch.aliyuncs.com
workspace_nameワークスペース名。default
service_id埋め込みモデルの ID。ops-m2-encoder

リクエスト

リクエストボディは 8 MB を超えてはなりません。

ヘッダー

パラメーター必須説明
Content-TypeStringはいリクエストのコンテンツタイプ。application/json
AuthorizationStringはい認証用の API キー。Bearer OS-d1**2a

ボディ

パラメーター必須説明
inputList<ContentObject>はい入力のリスト。1 回のリクエストあたり最大 32 個まで指定可能。

ContentObject のフィールド:

フィールド必須説明
textStringいいえ埋め込み対象のテキスト。
imageStringいいえ埋め込み対象のイメージ。URL または Base64 エンコード済みデータを指定できます。

ops-m2-encoder および ops-m2-encoder-large の場合、各 ContentObject には text フィールドまたは image フィールドのいずれかを含める必要があります。両方のフィールドを指定した場合、イメージは無視されます。

ops-gme-qwen2-vl-2b-instruct の場合、ContentObjecttext および image の両方のフィールドを指定でき、マルチモーダルな統合埋め込みを実行できます。

イメージ入力のフォーマット:

  • URL — アクセス可能な URL を指定する必要があります。

      {
        "image": "http://example.com/photo.jpg"
      }
  • Base64data:image/{format};base64,{base64_image} の形式を使用します。{format} には実際のイメージ形式(例:jpegpng)を、{base64_image} にはエンコード済みデータを指定します。

      {
        "image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAoHCB..."
      }

応答

正常終了時の応答には、以下のフィールドが含まれます。

フィールド説明
request_idString一意のリクエスト識別子。
latencyInt処理時間(ミリ秒単位)。
usage.imageInt処理されたイメージ数。
usage.token_countInt処理されたトークン数。
result.embeddingsList埋め込み結果の配列。各要素は 1 つの入力に対応します。
result.embeddings[].indexInt入力がリクエスト配列内で占める位置(0 基準)。
result.embeddings[].embeddingList<Double>埋め込みベクター。

エラー応答 には、エラー内容を示す code および message フィールドが含まれます。

フィールド説明
request_idString一意のリクエスト識別子。
latencyInt0 エラー応答の場合。
codeStringエラーコード。
messageStringエラーの説明。

エラーコードの一覧については、「ステータスコード」をご参照ください。

サンプル

イメージ埋め込みの生成

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-api-key>" \
  "http://<your-endpoint>/v3/openapi/workspaces/default/multi-modal-embedding/ops-m2-encoder" \
  -d '{
    "input": [
      {
        "image": "http://example.com/photo.jpg"
      }
    ]
  }'

以下のプレースホルダーを実際の値に置き換えます。

プレースホルダー説明
<your-api-key>認証用の API キーOS-d1xxxxx2a
<your-endpoint>サービスエンドポイントops-cn-hangzhou.opensearch.aliyuncs.com

正常終了時の応答サンプル

{
    "request_id": "B4AB89C8-B135-****-A6F8-2BAB801A2CE4",
    "latency": 38,
    "usage": {
        "image": 1,
        "token_count": 28
    },
    "result": {
        "embeddings": [
            {
                "index": 0,
                "embedding": [
                    -0.033447265625,
                    0.10577392578125,
                    -0.0015211105346679688,
                    -0.044189453125,
                    "...",
                    0.004688262939453125,
                    -4.5239925384521484E-5
                ]
            }
        ]
    }
}

エラー応答サンプル

{
    "request_id": "651B3087-8A07-****-B931-9C4E7B60F52D",
    "latency": 0,
    "code": "InvalidParameter",
    "message": "JSON parse error: Cannot deserialize value of type `InputType` from String \"xxx\""
}