Lakukan pengambilan gambar menggunakan penyematan multimodal (versi 4.0)
API Penyematan Multimodal memungkinkan vektorisasi gambar dan kueri teks. Mereka mengonversi gambar menjadi koordinat dalam ruang vektor multi-dimensi. Kemudian, kueri teks masuk juga dapat dikonversi ke vektor, dan gambar dapat dicocokkan dengan teks berdasarkan kedekatan semantik. Ini memungkinkan pengguna untuk mencari sekumpulan gambar menggunakan teks, tanpa perlu menggunakan tag gambar atau metadata lainnya. Kedekatan semantik sering menghasilkan hasil yang lebih baik dalam pencarian.
2024-02-01
API menyertakan model multibahasa yang mendukung pencarian teks dalam 102 bahasa. Model asli khusus bahasa Inggris masih tersedia, tetapi tidak dapat dikombinasikan dengan model baru dalam indeks pencarian yang sama. Jika Anda mem-vektorisasi teks dan gambar menggunakan model khusus bahasa Inggris, vektor ini tidak akan kompatibel dengan teks multibahasa dan vektor gambar.
Penting
API ini hanya tersedia di wilayah geografis tertentu. Lihat Ketersediaan wilayah.
Prasyarat
- Langganan Azure - Buat langganan secara gratis
- Setelah Anda memiliki langganan Azure, buat sumber daya Computer Vision di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Pastikan untuk membuatnya di salah satu wilayah geografis yang didukung: lihat Ketersediaan wilayah.
- Setelah menyebar, pilih Buka sumber daya. Salin kunci dan titik akhir ke lokasi sementara untuk digunakan nanti.
Mencoba penyematan Multimodal
Anda dapat mencoba fitur Penyematan Multimodal dengan cepat dan mudah di browser Anda menggunakan Vision Studio.
Penting
Pengalaman Vision Studio dibatasi hingga 500 gambar. Untuk menggunakan set gambar yang lebih besar, buat aplikasi pencarian Anda sendiri menggunakan API dalam panduan ini.
Memanggil API Gambar Vektorisasi
retrieval:vectorizeImage
API memungkinkan Anda mengonversi data gambar menjadi vektor. Untuk memanggilnya, buat perubahan berikut pada perintah cURL di bawah ini:
- Ganti
<endpoint>
dengan titik akhir Azure AI Vision Anda. - Ganti
<subscription-key>
dengan kunci Azure AI Vision Anda. - Di isi permintaan, atur
"url"
ke URL gambar jarak jauh yang ingin Anda gunakan. - Secara opsional, ubah parameter ke
model-version
versi yang lebih lama.2022-04-11
adalah model warisan yang hanya mendukung teks bahasa Inggris. Gambar dan teks yang di-vektorisasi dengan model tertentu tidak kompatibel dengan model lain, jadi pastikan untuk menggunakan model yang sama untuk keduanya.
curl.exe -v -X POST "<endpoint>/computervision/retrieval:vectorizeImage?api-version=2024-02-01&model-version=2023-04-15" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription-key>" --data-ascii "
{
'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'
}"
Untuk mem-vektorisasi gambar lokal, Anda akan meletakkan data biner di isi permintaan HTTP.
Panggilan API mengembalikan objek JSON vektor , yang menentukan koordinat gambar di ruang vektor dimensi tinggi.
{
"modelVersion": "2022-04-11",
"vector": [ -0.09442752, -0.00067171326, -0.010985051, ... ]
}
Memanggil API Teks Vektorisasi
retrieval:vectorizeText
API memungkinkan Anda mengonversi string teks menjadi vektor. Untuk memanggilnya, buat perubahan berikut pada perintah cURL di bawah ini:
- Ganti
<endpoint>
dengan titik akhir Azure AI Vision Anda. - Ganti
<subscription-key>
dengan kunci Azure AI Vision Anda. - Di isi permintaan, atur
"text"
ke contoh istilah pencarian yang ingin Anda gunakan. - Secara opsional, ubah parameter ke
model-version
versi yang lebih lama.2022-04-11
adalah model warisan yang hanya mendukung teks bahasa Inggris. Gambar dan teks yang di-vektorisasi dengan model tertentu tidak kompatibel dengan model lain, jadi pastikan untuk menggunakan model yang sama untuk keduanya.
curl.exe -v -X POST "<endpoint>/computervision/retrieval:vectorizeText?api-version=2024-02-01&model-version=2023-04-15" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription-key>" --data-ascii "
{
'text':'cat jumping'
}"
Panggilan API mengembalikan objek JSON vektor , yang menentukan koordinat string teks di ruang vektor dimensi tinggi.
{
"modelVersion": "2022-04-11",
"vector": [ -0.09442752, -0.00067171326, -0.010985051, ... ]
}
Menghitung kesamaan vektor
Kesamaan kosinus adalah metode untuk mengukur kesamaan dua vektor. Dalam skenario pengambilan gambar, Anda akan membandingkan vektor kueri pencarian dengan vektor setiap gambar. Gambar yang berada di atas ambang kesamaan tertentu kemudian dapat dikembalikan sebagai hasil pencarian.
Contoh kode berikut menghitung kesamaan kosinus antara dua vektor. Terserah Anda untuk memutuskan ambang batas kesamaan apa yang akan digunakan untuk mengembalikan gambar sebagai hasil pencarian.
public static float GetCosineSimilarity(float[] vector1, float[] vector2)
{
float dotProduct = 0;
int length = Math.Min(vector1.Length, vector2.Length);
for (int i = 0; i < length; i++)
{
dotProduct += vector1[i] * vector2[i];
}
float magnitude1 = Math.Sqrt(vector1.Select(x => x * x).Sum());
float magnitude2 = Math.Sqrt(vector2.Select(x => x * x).Sum());
return dotProduct / (magnitude1 * magnitude2);
}
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk