Model penyematan multimodal mengubah teks, gambar, atau video menjadi vektor floating-point terpadu berdimensi 1.024. Model ini cocok untuk tugas seperti klasifikasi video, klasifikasi gambar, dan pencarian teks-ke-gambar.
Kemampuan inti
Pengambilan lintas-modalitas: Lakukan pencarian semantik lintas-modalitas, seperti pencarian teks-ke-gambar, pencarian gambar-ke-video, dan pencarian berdasarkan gambar.
Perhitungan kemiripan semantik: Ukur kemiripan semantik antar konten dari modalitas berbeda dalam ruang vektor terpadu.
Klasifikasi dan pengelompokan konten: Lakukan analisis pengelompokan, penandaan, dan pengelompokan cerdas berdasarkan penyematan semantik konten.
Atribut utama: Penyematan yang dihasilkan dari semua modalitas (teks, gambar, dan video) berada dalam ruang semantik yang sama. Hal ini memungkinkan pencocokan dan perbandingan lintas-modalitas secara langsung menggunakan metode seperti cosine similarity. Untuk informasi lebih lanjut mengenai pemilihan model dan metode penerapan, lihat Penyematan teks dan multimodal.
Layanan model ini hanya tersedia di wilayah Tiongkok (Beijing). Anda harus menggunakan Kunci API dari wilayah ini untuk memanggil layanan.
Untuk pengenalan model, rekomendasi pemilihan, dan metode penggunaan, lihat Penyematan teks dan multimodal.
Ikhtisar model
Singapura
Model | Dimensi penyematan | Batas panjang teks | Batas ukuran gambar | Batas ukuran video | Harga (per 1 juta token input) | Kuota gratis(Catatan) |
tongyi-embedding-vision-plus | 1152, 1024, 512, 256, 128, 64 | 1.024 token | Satu file tidak boleh lebih besar dari 3 MB. | Ukuran file video hingga 10 MB | Gambar/Video: $0,09 Teks: $0,09 | 1 juta token Berlaku: 90 hari setelah mengaktifkan Model Studio |
tongyi-embedding-vision-flash | 768, 512, 256, 128, 64 | Gambar/Video: $0,03 Teks: $0,09 |
Beijing
Model | Dimensi penyematan | Batas panjang teks | Batas ukuran gambar | Batas ukuran video | Harga (per 1 juta token input) |
qwen3-vl-embedding | 2560, 2048, 1536, 1024, 768, 512, 256 | 32.000 token | Maksimal 1 gambar, hingga 5 MB | Ukuran file video hingga 50 MB | Gambar/Video: $0,258 Teks: $0,1 |
multimodal-embedding-v1 | 1024 | 512 token | Maksimal 8 gambar, masing-masing hingga 3 MB | Ukuran file video hingga 10 MB | Uji coba gratis |
Format input dan batasan bahasa
Model penyematan multimodal terpadu | ||||
Model | Teks | Gambar | Video | Elemen maks per permintaan |
qwen3-vl-embedding | Mendukung 33 bahasa utama, termasuk Tionghoa, Inggris, Jepang, Korea, Prancis, dan Jerman | JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI (URL atau Base64 didukung) | MP4, AVI, MOV (hanya URL) | Total elemen konten per permintaan tidak boleh melebihi 20. Gambar, teks, dan video berbagi batas ini. |
Model penyematan multimodal independen | ||||
Model | Teks | Gambar | Video | Elemen maks per permintaan |
tongyi-embedding-vision-plus | Tionghoa/Inggris | JPG, PNG, BMP (URL atau Base64 didukung) | MP4, MPEG, AVI, MOV, MPG, WEBM, FLV, MKV (hanya URL) | Tidak ada batasan jumlah elemen konten. Total jumlah token tidak boleh melebihi batas token. |
tongyi-embedding-vision-flash | ||||
multimodal-embedding-v1 | Total elemen konten per permintaan tidak boleh melebihi 20. Maksimal 1 gambar, 1 video, dan 20 entri teks, berbagi batas total tersebut. | |||
API mendukung pengunggahan satu segmen teks, satu gambar, atau satu file video. API juga memungkinkan kombinasi jenis berbeda, seperti teks dan gambar. Beberapa model mendukung beberapa input dengan jenis konten yang sama, seperti beberapa gambar. Untuk informasi lebih lanjut, lihat batasan untuk model tertentu.
Prasyarat
Anda harus mendapatkan Kunci API dan menetapkan Kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK untuk melakukan panggilan, Anda juga harus menginstal SDK DashScope.
Panggilan HTTP
POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding
Permintaan | Penyematan multimodal independenPenyematan multimodal terpadu |
Header permintaan | |
Content-Type Tipe konten permintaan. Tetapkan ke application/json atau text/event-stream (untuk mengaktifkan tanggapan Server-Sent Events (SSE)). Content-Type Tipe konten permintaan. Harus | |
Authorization Kredensial otentikasi menggunakan Kunci API Model Studio. Contoh: | |
Badan permintaan | |
model Nama model. Tetapkan ke nama model dari Ikhtisar model. | |
input Konten input. parameters Parameter untuk pemrosesan vektor. Untuk panggilan HTTP, parameter ini harus dibungkus dalam objek `parameters`. Untuk panggilan SDK, Anda dapat menggunakan parameter ini secara langsung. |
Tanggapan | Tanggapan suksesTanggapan kesalahan |
output Informasi output tugas. | |
request_id Pengidentifikasi unik untuk permintaan. Gunakan untuk pelacakan dan troubleshooting masalah. | |
code Kode kesalahan. Dikembalikan hanya ketika permintaan gagal. Lihat kode kesalahan untuk detailnya. | |
message Pesan kesalahan detail. Dikembalikan hanya ketika permintaan gagal. Lihat kode kesalahan untuk detailnya. | |
usage Statistik tentang output. |
Penggunaan SDK
Struktur badan permintaan untuk versi SDK saat ini berbeda dari panggilan HTTP native. Parameter `input` dalam SDK sesuai dengan `input.contents` dalam panggilan HTTP.
Contoh kode
Hasilkan penyematan gambar
Gunakan URL gambar
import dashscope
import json
from http import HTTPStatus
# Ganti URL dengan URL gambar Anda.
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
input = [{'image': image}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))Gunakan gambar lokal
Anda dapat menggunakan kode contoh berikut untuk mengonversi gambar lokal ke format Base64, lalu memanggil model multimodal-embedding-v1 untuk penyematan.
import dashscope
import base64
import json
from http import HTTPStatus
# Baca gambar dan konversi ke Base64. Ganti xxx.png dengan nama file atau path gambar Anda.
image_path = "xxx.png"
with open(image_path, "rb") as image_file:
# Baca file dan konversi ke Base64.
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
# Tetapkan format gambar.
image_format = "png" # Ubah sesuai format aktual, misalnya jpg atau bmp.
image_data = f"data:image/{image_format};base64,{base64_image}"
# Data input.
input = [{'image': image_data}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))Hasilkan penyematan video
Model penyematan multimodal saat ini hanya mendukung input file video dalam bentuk URL. Pengiriman video lokal secara langsung tidak didukung.
import dashscope
import json
from http import HTTPStatus
# Ganti URL dengan URL video Anda.
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
input = [{'video': video}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))
Hasilkan penyematan teks
import dashscope
import json
from http import HTTPStatus
text = "Contoh model representasi multimodal umum"
input = [{'text': text}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
model="tongyi-embedding-vision-plus",
input=input
)
if resp.status_code == HTTPStatus.OK:
result = {
"status_code": resp.status_code,
"request_id": getattr(resp, "request_id", ""),
"code": getattr(resp, "code", ""),
"message": getattr(resp, "message", ""),
"output": resp.output,
"usage": resp.usage
}
print(json.dumps(result, ensure_ascii=False, indent=4))Hasilkan penyematan terpadu
import dashscope
import json
import os
from http import HTTPStatus
# Penyematan multimodal terpadu: Menggabungkan teks, gambar, dan video menjadi satu penyematan terpadu.
# Cocok untuk skenario seperti pengambilan lintas-modalitas dan pencarian gambar.
text = "Ini adalah teks uji untuk menghasilkan penyematan multimodal terpadu."
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
# Input berisi teks, gambar, dan video. Model akan menggabungkannya menjadi satu penyematan terpadu.
input_data = [
{
"text": text,
"image": image,
"video": video
}
]
# Gunakan qwen3-vl-embedding untuk menghasilkan penyematan terpadu.
resp = dashscope.MultiModalEmbedding.call(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-vl-embedding",
input=input_data,
# Parameter opsional: Tentukan dimensi vektor (nilai yang didukung: 2560, 2048, 1536, 1024, 768, 512, 256; default: 2560)
# parameters={"dimension": 1024}
)
print(json.dumps(resp, ensure_ascii=False, indent=4))
Contoh output
{
"status_code": 200,
"request_id": "40532987-ba72-42aa-a178-bb58b52fb7f3",
"code": "",
"message": "",
"output": {
"embeddings": [
{
"index": 0,
"embedding": [
-0.009490966796875,
-0.024871826171875,
-0.031280517578125,
...
],
"type": "text"
}
]
},
"usage": {
"input_tokens": 10,
"input_tokens_details": {
"image_tokens": 0,
"text_tokens": 10
},
"output_tokens": 1,
"total_tokens": 11
}
}Kode kesalahan
Jika panggilan gagal, lihat Pesan kesalahan untuk troubleshooting.