Model embedding multimodal mengubah teks, gambar, atau video menjadi representasi vektor terpadu yang cocok untuk tugas seperti klasifikasi video, klasifikasi gambar, dan pencarian teks-ke-gambar.
Kemampuan inti
Pengambilan lintas-modalitas: Lakukan pencarian lintas jenis konten, seperti teks-ke-gambar, gambar-ke-video, atau image search.
Kesamaan semantik: Hitung kesamaan antara berbagai jenis konten dalam ruang vektor terpadu.
Klasifikasi dan pengelompokan konten: Kelompokkan, beri tag, dan kelompokkan konten berdasarkan embedding semantik.
Atribut utama: Semua modalitas (teks, gambar, video) menghasilkan embedding dalam ruang semantik yang sama, memungkinkan pencocokan dan perbandingan lintas-modalitas secara langsung menggunakan metode seperti cosine similarity. Untuk informasi lebih lanjut mengenai pemilihan model dan metode penerapan, lihat embedding teks dan multimodal.
Layanan model ini hanya tersedia di wilayah China (Beijing). Gunakan API key dari wilayah ini untuk memanggil layanan.
Jenis vektor
Model embedding multimodal mendukung dua metode pembuatan vektor:
Vektor independen multimodal: Model menghasilkan vektor independen untuk setiap input (seperti teks, gambar, video, atau beberapa gambar) dalam array
contents. Misalnya, jika Anda memberikan satu potong teks dan satu gambar, model akan mengembalikan dua vektor independen. Metode ini cocok untuk skenario yang memerlukan perbandingan berbagai jenis konten secara individual, seperti pencarian gambar-ke-gambar atau teks-ke-gambar.Embedding fusi multimodal: Menggabungkan semua input dalam
contentsmenjadi satu embedding tunggal untuk representasi semantik lintas-modalitas. Ideal untuk skenario yang memerlukan pemahaman komprehensif terhadap konten multimodal, seperti menggabungkan gambar produk dan teks deskriptif menjadi representasi terpadu untuk pengambilan. Untukqwen3-vl-embedding, aktifkan mode fusi dengan menyetelenable_fusion=true. Embedding fusi mendukung kombinasi berikut:Teks dan gambar
Teks dan video
Beberapa gambar dan teks (dengan meneruskan beberapa entri
image)Gambar, video, dan teks
qwen2.5-vl-embeddinghanya mendukung embedding fusi, bukan embedding independen.tongyi-embedding-vision-plusdantongyi-embedding-vision-flashhanya mendukung embedding independen.
Untuk deskripsi model, panduan pemilihan, dan penggunaan, lihat Embedding teks dan multimodal.
Ikhtisar model
Singapura
|
Nama model |
Dimensi embedding |
Batas panjang teks |
Batas ukuran gambar |
Batas ukuran video |
Harga (per 1 juta token input) |
Kuota gratis (Catatan) |
|
tongyi-embedding-vision-plus |
1152 |
1.024 token |
Hingga 3 MB per gambar. Mendukung hingga 8 gambar. |
Hingga 10 MB per file video |
Gambar/Video: $0,09 Teks: $0,09 |
1 juta token Berlaku selama 90 hari setelah mengaktifkan Model Studio |
|
tongyi-embedding-vision-flash |
768 |
Gambar/Video: $0,03 Teks: $0,09 |
China (Beijing)
|
Nama model |
Dimensi embedding |
Batas panjang teks |
Batas ukuran gambar |
Batas ukuran video |
Harga (per 1 juta token input) |
|
qwen3-vl-embedding |
2560 (default), 2048, 1536, 1024, 768, 512, 256 |
32.000 token |
Hingga 5 gambar, masing-masing hingga 5 MB |
Hingga 50 MB per file video |
Gambar/Video: $0,258 Teks: $0,1 |
|
multimodal-embedding-v1 |
1024 |
512 token |
Hingga 8 gambar, masing-masing 3 MB |
Hingga 10 MB per file video |
Uji coba gratis |
Format input dan batasan bahasa
|
Model multimodal fusi |
||||
|
Model |
Teks |
Gambar |
Video |
Batas permintaan |
|
qwen3-vl-embedding |
Mendukung 33 bahasa utama, termasuk Mandarin, Inggris, Jepang, Korea, Prancis, dan Jerman. |
JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI (URL atau Base64 didukung) |
MP4, AVI, MOV (hanya URL) |
Hingga 20 elemen konten per permintaan, dengan maksimal 5 gambar dan 1 video. |
|
Model multimodal independen |
||||
|
Model |
Teks |
Gambar |
Video |
Batas permintaan |
|
tongyi-embedding-vision-plus |
Tiongkok dan Inggris |
JPG, PNG, BMP (URL atau Base64 didukung) |
MP4, MPEG, MOV, MPG, WEBM, AVI, FLV, MKV (hanya URL) |
Tidak ada batasan jumlah elemen konten. Total jumlah token input tidak boleh melebihi batas token pemrosesan batch. |
|
tongyi-embedding-vision-flash |
||||
|
multimodal-embedding-v1 |
JPG, PNG, BMP (URL atau Base64 didukung) |
Hingga 20 elemen konten per permintaan, dengan maksimal 20 segmen teks, 1 gambar, dan 1 video. |
||
Semua model mendukung input teks, gambar, dan video, baik secara individual maupun kombinasi. Modeltongyi-embedding-vision-plus,tongyi-embedding-vision-flashjuga mendukung inputmulti_imagesuntuk urutan gambar.
Kemampuan model
Model | Dimensi default | Jenis | Input yang didukung | Deskripsi |
qwen3-vl-embedding | 2.560 | Independen / Fusi | teks, gambar, video, multi_images | Mode fusi, diaktifkan dengan parameter |
tongyi-embedding-vision-plus | 1.152 | Hanya independen | teks, gambar, video, multi_images | Mendukung urutan |
tongyi-embedding-vision-flash | 768 | |||
multimodal-embedding-v1 | 1.024 | teks, gambar, video | Parameter dimensi tidak didukung. Dimensi tetap pada 1024. |
Prasyarat
Dapatkan API key dan ekspor API key sebagai variabel lingkungan. Jika Anda menggunakan SDK untuk melakukan panggilan, instal DashScope SDK.
Panggilan HTTP
POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding
Permintaan | Embedding independen multimodalContoh berikut menggunakan model Embedding fusi multimodalModel |
Header permintaan | |
Content-Type Tipe konten permintaan. Harus berupa | |
Authorization Kredensial autentikasi menggunakan Kunci API Model Studio. Contoh: | |
Isi permintaan | |
model Nama model. Tetapkan ke nama model dari Ikhtisar model. | |
input Konten input. parameters Parameter untuk pemrosesan vektor. Bungkus dalam objek |
Tanggapan | Tanggapan suksesTanggapan kesalahan |
output Hasil embedding. | |
request_id Identifikasi 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 rinci. Dikembalikan hanya ketika permintaan gagal. Lihat kode kesalahan untuk detailnya. | |
usage Statistik penggunaan token. |
Penggunaan SDK
Badan permintaan SDK berbeda dari panggilan HTTP:inputdalam SDK sesuai denganinput.contentsdalam HTTP.
Contoh kode
Embedding gambar
URL gambar
import dashscope
import json
from http import HTTPStatus
# Ganti ini 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))Gambar lokal
Konversi gambar lokal ke Base64 dan panggil model untuk embedding:
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')
# Atur format gambar.
image_format = "png" # Ubah ini sesuai format aktual, seperti 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))Embedding video
Input video harus berupa URL. Video lokal tidak didukung.
import dashscope
import json
from http import HTTPStatus
# Ganti ini 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))
Embedding teks
import dashscope
import json
from http import HTTPStatus
text = "General multimodal representation model example"
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))Embedding fusi
import dashscope
import json
import os
from http import HTTPStatus
# Embedding fusi multimodal: Menggabungkan teks, gambar, dan video menjadi satu embedding fusi.
# Ideal untuk aplikasi seperti pengambilan lintas-modalitas dan image search.
text = "This is a test text for generating a multimodal fused embedding."
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. Setel enable_fusion=True untuk menghasilkan satu embedding fusi.
input_data = [
{"text": text},
{"image": image},
{"video": video}
]
# Gunakan qwen3-vl-embedding untuk menghasilkan embedding fusi.
resp = dashscope.MultiModalEmbedding.call(
# Jika variabel lingkungan tidak disetel, berikan DashScope API Key Anda secara langsung, misalnya api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-vl-embedding",
input=input_data,
enable_fusion=True,
# Parameter opsional: Tentukan dimensi embedding. Nilai yang didukung adalah 2560, 2048, 1536, 1024, 768, 512, dan 256. Default adalah 2560.
# parameters={"dimension": 1024}
)
print(json.dumps(resp, ensure_ascii=False, indent=4))
Embedding fusi multi-gambar
Contoh ini menunjukkan cara menggunakan model qwen3-vl-embedding untuk menggabungkan beberapa gambar dan teks menjadi satu embedding. Untuk melakukan fusi multi-gambar ini, teruskan beberapa item image. Metode ini ideal untuk pengambilan semantik komprehensif produk menggunakan gambar multi-sudut dan deskripsi teks.
import dashscope
import json
import os
from http import HTTPStatus
# Embedding fusi multi-gambar + teks: Menggabungkan beberapa gambar produk dan teks deskripsi menjadi satu embedding.
# Cocok untuk pengambilan semantik komprehensif menggunakan gambar produk multi-sudut dan deskripsi teks.
text = "White sports shoes, lightweight and breathable, suitable for running and daily wear."
image1 = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
image2 = "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"
# Teruskan beberapa item gambar untuk fusi multi-gambar. `enable_fusion=True` menggabungkan semua input menjadi satu embedding.
input_data = [
{"text": text},
{"image": image1},
{"image": image2}
]
resp = dashscope.MultiModalEmbedding.call(
# Jika variabel lingkungan tidak disetel, berikan DashScope API Key Anda secara langsung, misalnya api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3-vl-embedding",
input=input_data,
enable_fusion=True
)
print(json.dumps(resp, ensure_ascii=False, indent=4))
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 model gagal dan mengembalikan pesan kesalahan, lihat Pesan kesalahan untuk penyelesaiannya.