Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Keterampilan ini ada di pratinjau publik di bawah Ketentuan Penggunaan Tambahan. REST API Pratinjau 2024-05-01 dan API pratinjau yang lebih baru mendukung fitur ini.
Keterampilan penyematan multimodal Azure Vision menggunakan API penyematan multimodal dari Azure Vision di Foundry Tools untuk menghasilkan penyematan untuk input teks atau gambar.
Untuk transaksi yang melebihi 20 dokumen per pengindeks per hari, keterampilan ini mengharuskan Anda melampirkan sumber daya Microsoft Foundry yang dapat ditagih ke set keterampilan Anda. Eksekusi keterampilan bawaan dibebankan pada harga Foundry Tools Standard yang ada. Ekstraksi gambar juga dapat ditagih oleh Azure AI Search.
Lokasi sumber daya adalah pertimbangan untuk penagihan. Karena Anda menggunakan versi PRATINJAU REST API untuk membuat set keterampilan yang berisi keterampilan pratinjau, Anda dapat menggunakan koneksi tanpa kunci untuk melewati persyaratan wilayah yang sama. Namun, untuk koneksi berbasis kunci, Azure AI Search dan Foundry harus berada di wilayah yang sama. Untuk memastikan kompatibilitas wilayah:
- Temukan wilayah yang didukung untuk penyematan multimodal.
- Verifikasi wilayah menyediakan pengayaan AI.
Sumber daya Foundry hanya digunakan untuk tujuan penagihan. Pemrosesan konten terjadi pada sumber daya terpisah yang dikelola dan dikelola oleh Azure AI Search dalam geografis yang sama. Data Anda diproses di Geo tempat sumber daya Anda disebarkan.
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Batasan data
Batas input untuk keterampilan dapat ditemukan dalam dokumentasi Azure Vision untuk gambar dan teks. Pertimbangkan untuk menggunakan keterampilan Pemisahan Teks jika Anda memerlukan potongan data untuk input teks.
Input yang berlaku meliputi:
- Ukuran file input gambar harus kurang dari 20 megabyte (MB). Ukuran gambar harus lebih besar dari 10 x 10 piksel dan kurang dari 16.000 x 16.000 piksel.
- String input teks harus antara (inklusif) satu kata dan 70 kata.
Parameter keterampilan
Parameter peka huruf besar/kecil.
| Input | Deskripsi |
|---|---|
modelVersion |
(Diperlukan) Versi model (2023-04-15) yang akan diteruskan ke API penyematan multimodal Azure Vision untuk menghasilkan penyematan. Penyematan vektor hanya dapat dibandingkan dan dicocokkan jika berasal dari jenis model yang sama. Gambar yang di-vektorisasi oleh satu model tidak akan dapat dicari melalui model yang berbeda. API Analisis Gambar terbaru menawarkan dua model:
|
Input keterampilan
Input definisi keterampilan mencakup nama, sumber, dan input. Tabel berikut ini menyediakan nilai yang valid untuk nama input. Anda juga dapat menentukan input rekursif. Untuk informasi selengkapnya, lihat referensi REST API dan Membuat set keterampilan.
| Masukan | Deskripsi |
|---|---|
text |
Teks input yang akan di-vektorisasi. Jika Anda menggunakan potongan data, sumbernya mungkin /document/pages/*. |
image |
Jenis Kompleks. Saat ini hanya berfungsi dengan bidang "/document/normalized_images", yang dihasilkan oleh pengindeks blob Azure saat imageAction diatur ke nilai selain none. |
url |
URL untuk mengunduh gambar yang akan di-vektorisasi. |
queryString |
String kueri URL untuk mengunduh gambar yang akan di-vektorisasi. Berguna jika Anda menyimpan URL dan token SAS di jalur terpisah. |
Hanya salah satu dari text, image atau url/queryString yang dapat dikonfigurasi untuk satu instans keterampilan. Jika Anda ingin mem-vektorisasi gambar dan teks dalam set keterampilan yang sama, sertakan dua instans keterampilan ini dalam definisi skillset, satu untuk setiap jenis input yang ingin Anda gunakan.
Output keterampilan
| Keluaran | Deskripsi |
|---|---|
vector |
Output penyematan array float untuk teks atau gambar input. |
Definisi sampel
Untuk input teks, pertimbangkan blob yang memiliki konten berikut:
{
"content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square kilometers of South America."
}
Untuk input teks, definisi keterampilan Anda mungkin terlihat seperti ini:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector",
"targetName": "text_vector"
}
]
}
Untuk input gambar, definisi keterampilan kedua dalam set keterampilan yang sama mungkin terlihat seperti ini:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document/normalized_images/*",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Jika Anda ingin mem-vektorisasi gambar langsung dari sumber data penyimpanan blob Anda daripada mengekstrak gambar selama pengindeksan, definisi keterampilan Anda harus menentukan URL, dan mungkin token SAS tergantung pada keamanan penyimpanan. Untuk skenario ini, definisi keterampilan Anda mungkin terlihat seperti ini:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "url",
"source": "/document/metadata_storage_path"
},
{
"name": "queryString",
"source": "/document/metadata_storage_sas_token"
}
],
"outputs": [
{
"name": "vector",
"targetName": "image_vector"
}
]
}
Sampel output
Untuk input yang diberikan, output penyematan vektorisasi diproduksi. Output adalah 1.024 dimensi, yang merupakan jumlah dimensi yang didukung oleh API multimodal Azure Vision.
{
"text_vector": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
Output berada dalam memori. Untuk mengirim output ini ke bidang dalam indeks pencarian, Anda harus menentukan outputFieldMapping yang memetakan output penyematan vektor (yang merupakan array) ke bidang vektor. Dengan asumsi output keterampilan berada di simpul vektor dokumen, dan content_vector adalah bidang dalam indeks pencarian, outputFieldMapping di pengindeks akan terlihat seperti:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
Untuk pemetaan penyematan gambar ke indeks, Anda menggunakan proyeksi indeks. Payload untuk indexProjections mungkin terlihat seperti contoh berikut. image_content_vector adalah bidang dalam indeks, dan diisi dengan konten yang ditemukan di vektor array normalized_images .
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "image_content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}