All Products
Search
Document Center

OpenSearch:Multimodal embedding

Last Updated:Mar 01, 2026

API Multimodal Embedding mengonversi teks, gambar, atau kombinasi keduanya menjadi representasi vektor padat. Gunakan embedding yang dihasilkan untuk pengambilan lintas-modal (teks-ke-gambar, gambar-ke-teks) dan pencarian kemiripan.

Layanan ini didasarkan pada model bahasa besar multimodal (MLLM) Qwen2-VL dan mendukung input baik single-modal maupun multimodal.

Model yang tersedia

ModelID LayananDimensiBahasaDeskripsi
M2-Encoder-Multimodal Vector Modelops-m2-encoder768Bilingual Tionghoa-InggrisDilatih pada 6 miliar pasangan gambar-teks (3 miliar Tionghoa, 3 miliar Inggris) berdasarkan BM-6B. Mendukung pengambilan lintas-modal antara teks dan gambar, serta klasifikasi gambar.
M2-Encoder-Large-Multimodal Vector Modelops-m2-encoder-large1024Bilingual Tionghoa-InggrisModel yang lebih besar dengan 1 miliar parameter. Memberikan kemampuan ekspresi yang lebih kuat dan performa lebih tinggi dalam tugas multimodal dibandingkan ops-m2-encoder.
GME Multimodal Vector-Qwen2-VL-2Bops-gme-qwen2-vl-2b-instruct1536-Dilatih pada MLLM Qwen2-VL. Mendukung kombinasi input single-modal dan multimodal, memproses teks, gambar, dan jenis data gabungan.
Catatan

Untuk ops-m2-encoder dan ops-m2-encoder-large, teks dan gambar tidak dapat dimasukkan dalam dokumen yang sama.

Batas laju

Batas permintaan per detik (QPS) berlaku per Akun Alibaba Cloud, termasuk semua Pengguna RAM di bawah akun tersebut.

ModelQPS
ops-m2-encoder10

Untuk meminta batas QPS yang lebih tinggi, kirimkan Tiket.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Referensi API

Titik akhir

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

Ganti parameter path dengan nilai aktual:

ParameterDeskripsiContoh
hostTitik akhir layanan. Mendukung akses Internet dan VPC.http://ops-cn-hangzhou.opensearch.aliyuncs.com
workspace_nameNama ruang kerja.default
service_idID model penyematan.ops-m2-encoder

Permintaan

Ukuran badan permintaan tidak boleh melebihi 8 MB.

Header

ParameterTipeWajibDeskripsiContoh
Content-TypeStringYaTipe konten permintaan.application/json
AuthorizationStringYaKunci API untuk otentikasi.Bearer OS-d1**2a

Body

ParameterTipeWajibDeskripsi
inputList<ContentObject>YaDaftar input. Maksimal 32 entri per permintaan.

Bidang ContentObject:

BidangTipeWajibDeskripsi
textStringTidakTeks yang akan disematkan.
imageStringTidakGambar yang akan disematkan. Menerima URL atau data yang dikodekan Base64.

Untuk ops-m2-encoder dan ops-m2-encoder-large, setiap ContentObject hanya boleh berisi salah satu bidang text atau image. Jika kedua bidang diberikan, gambar akan diabaikan.

Untuk ops-gme-qwen2-vl-2b-instruct, sebuah ContentObject dapat berisi kedua bidang text dan image untuk menghasilkan penyematan multimodal gabungan.

Format input gambar:

  • URL — Harus dapat diakses.

      {
        "image": "http://example.com/photo.jpg"
      }
  • Base64 — Gunakan format data:image/{format};base64,{base64_image}, di mana {format} adalah tipe gambar aktual (misalnya, jpeg, png) dan {base64_image} adalah data terkode.

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

Tanggapan

Tanggapan sukses mencakup bidang-bidang berikut:

BidangTipeDeskripsi
request_idStringPengidentifikasi unik permintaan.
latencyIntWaktu pemrosesan dalam milidetik.
usage.imageIntJumlah gambar yang diproses.
usage.token_countIntJumlah token yang diproses.
result.embeddingsListArray hasil penyematan. Setiap elemen sesuai dengan satu entri input.
result.embeddings[].indexIntPosisi input dalam array permintaan (berbasis nol).
result.embeddings[].embeddingList<Double>Vektor penyematan.

Tanggapan kesalahan mencakup bidang code dan message yang menjelaskan kesalahan:

BidangTipeDeskripsi
request_idStringPengidentifikasi unik permintaan.
latencyInt0 untuk tanggapan kesalahan.
codeStringKode kesalahan.
messageStringDeskripsi kesalahan.

Untuk daftar lengkap kode kesalahan, lihat Kode status.

Contoh

Hasilkan penyematan gambar

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"
      }
    ]
  }'

Ganti placeholder berikut dengan nilai aktual:

PlaceholderDeskripsiContoh
<your-api-key>Kunci API untuk otentikasiOS-d1xxxxx2a
<your-endpoint>Titik akhir layananops-cn-hangzhou.opensearch.aliyuncs.com

Contoh tanggapan sukses

{
    "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
                ]
            }
        ]
    }
}

Contoh tanggapan kesalahan

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