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.
Azure AI Search tidak menghosting model penyematan, jadi salah satu tantangan Anda adalah membuat vektor untuk input dan output kueri. Anda dapat menggunakan model penyematan yang didukung, tetapi artikel ini mengasumsikan model penyematan Azure OpenAI untuk ilustrasi.
Kami merekomendasikan vektorisasi terintegrasi, yang menyediakan potongan dan vektorisasi data bawaan. Vektorisasi terintegrasi mengambil dependensi pada pengindeks, set keterampilan, dan keterampilan bawaan atau kustom yang menunjuk ke model yang dijalankan secara eksternal dari Azure AI Search. Beberapa keterampilan bawaan menunjuk ke penyematan model di Azure AI Foundry, yang membuat vektorisasi terintegrasi solusi termudah Anda untuk memecahkan tantangan penyematan.
Jika Anda ingin menangani pemotongan dan vektorisasi data sendiri, kami menyediakan demo di repositori sampel yang menunjukkan kepada Anda cara berintegrasi dengan solusi komunitas lainnya.
Bagaimana model penyematan digunakan dalam kueri vektor
Input kueri adalah vektor, atau teks atau gambar yang dikonversi ke vektor selama pemrosesan kueri. Solusi bawaan dalam Azure AI Search adalah menggunakan vektorizer.
Atau, Anda juga dapat menangani konversi sendiri dengan meneruskan input kueri ke model penyematan pilihan Anda. Untuk menghindari pembatasan tarif, Anda dapat menerapkan logika coba lagi dalam beban kerja Anda. Untuk demo Python, kami menggunakan ketekunan.
Output kueri adalah dokumen yang cocok yang ditemukan dalam indeks pencarian. Indeks pencarian Anda sebelumnya harus dimuat dengan dokumen yang memiliki satu atau beberapa bidang vektor dengan penyematan. Apa pun model penyematan yang Anda gunakan untuk pengindeksan, gunakan model yang sama untuk kueri.
Membuat sumber daya di wilayah yang sama
Meskipun vektorisasi terintegrasi dengan model penyematan Azure OpenAI tidak memerlukan sumber daya untuk berada di wilayah yang sama, menggunakan wilayah yang sama dapat meningkatkan performa dan mengurangi latensi.
Untuk mendukung kueri hibrid yang menyertakan peringkat semantik, atau jika Anda ingin mencoba integrasi model pembelajaran mesin menggunakan keterampilan kustom dalam alur pengayaan AI, pilih wilayah Pencarian Azure AI yang menyediakan fitur tersebut.
Membuat penyematan untuk kueri improvisasi
Kode Python berikut menghasilkan penyematan yang bisa Anda tempelkan ke properti "nilai" kueri vektor.
!pip install openai
import openai
openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2024-02-01"
response = openai.Embedding.create(
input="How do I use Python in VS Code?",
engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)
Output adalah array vektor 1.536 dimensi.
Pilih model penyematan di Azure AI Foundry
Di portal Azure AI Foundry, Anda memiliki opsi untuk membuat indeks pencarian saat menambahkan pengetahuan ke alur kerja agen Anda. Panduan memandu Anda melalui langkah-langkah. Saat diminta untuk memberikan model penyematan yang mem-vektorisasi konten teks biasa, Anda dapat menggunakan salah satu model yang didukung berikut:
- penyisipan-teks-3-besar
- teks-penanaman-3-kecil
- text-embedding-ada-002
- Cohere-embed-v3-bahasa-inggris
- Cohere-embed-v3-multilingual
Model Anda harus sudah disebarkan dan Anda harus memiliki izin untuk mengaksesnya. Untuk informasi selengkapnya, lihat Menyebarkan model AI di portal Azure AI Foundry.
Tips dan rekomendasi untuk menyematkan integrasi model
Mengidentifikasi kasus penggunaan: Mengevaluasi kasus penggunaan tertentu di mana integrasi model penyematan untuk fitur pencarian vektor dapat menambahkan nilai ke solusi pencarian Anda. Ini dapat mencakup konten gambar multimodal atau pencocokan dengan konten teks, pencarian multibahasa, atau pencarian kesamaan.
Merancang strategi chunking: Model penyematan memiliki batasan jumlah token yang dapat mereka terima, yang memperkenalkan kebutuhan pembagian data untuk file besar. Untuk informasi selengkapnya, lihat Memotong dokumen besar untuk solusi pencarian vektor.
Optimalkan biaya dan performa: Pencarian vektor dapat intensif sumber daya dan tunduk pada batas maksimum, jadi pertimbangkan hanya vektorisasi bidang yang berisi makna semantik. Kurangi ukuran vektor sehingga Anda dapat menyimpan lebih banyak vektor dengan harga yang sama.
Pilih model penyematan yang tepat: Pilih model yang sesuai untuk kasus penggunaan spesifik Anda, seperti penyematan kata untuk pencarian berbasis teks atau penyematan gambar untuk pencarian visual. Pertimbangkan untuk menggunakan model yang telah dilatih sebelumnya seperti text-embedding-ada-002 dari OpenAI atau Image Retrieval REST API dari Azure AI Computer Vision.
Menormalkan panjang Vektor: Pastikan panjang vektor dinormalisasi sebelum menyimpannya dalam indeks pencarian untuk meningkatkan akurasi dan performa pencarian kesamaan. Sebagian besar model yang telah dilatih sebelumnya sudah dinormalisasi tetapi tidak semua.
Sesuaikan model: Jika diperlukan, sesuaikan model yang dipilih pada data khusus domain Anda untuk meningkatkan performa dan relevansinya dengan aplikasi pencarian Anda.
Uji dan iterasi: Terus uji dan perbaiki integrasi model penyematan Anda untuk mencapai performa pencarian dan kepuasan pengguna yang diinginkan.