Membuat penyematan untuk kueri dan dokumen pencarian

Azure AI Search tidak menghosting model vektorisasi, jadi salah satu tantangan Anda adalah membuat penyematan untuk input dan output kueri. Anda dapat menggunakan model penyematan apa pun, tetapi artikel ini mengasumsikan model penyematan Azure OpenAI. Demo di repositori sampel ketuk model penyematan kesamaan Azure OpenAI.

Atribut dimensi memiliki minimal 2 dan maksimum 3072 dimensi per bidang vektor.

Catatan

Artikel ini berlaku untuk versi pencarian vektor yang tersedia secara umum, yang mengasumsikan kode aplikasi Anda memanggil sumber daya eksternal seperti Azure OpenAI untuk vektorisasi. Fitur baru yang disebut vektorisasi terintegrasi, yang saat ini dalam pratinjau, menawarkan vektorisasi yang disematkan. Vektorisasi terintegrasi mengambil dependensi pada pengindeks, set keterampilan, dan keterampilan AzureOpenAIEmbedding atau keterampilan kustom yang menunjuk ke model yang dijalankan secara eksternal dari Azure AI Search.

Bagaimana model digunakan

  • Input kueri mengharuskan Anda mengirimkan input yang disediakan pengguna ke model penyematan yang dengan cepat mengonversi teks yang dapat dibaca manusia menjadi vektor.

    • Misalnya, Anda dapat menggunakan text-embedding-ada-002 untuk menghasilkan penyematan teks dan IMAGE Retrieval REST API untuk penyematan gambar.

    • Untuk menghindari pembatasan tarif, Anda dapat menerapkan logika coba lagi dalam beban kerja Anda. Untuk demo Python, kami menggunakan keulekan.

  • 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. Model apa pun yang Anda gunakan untuk pengindeksan, gunakan model yang sama untuk kueri.

Membuat sumber daya di wilayah yang sama

Jika Anda menginginkan sumber daya di wilayah yang sama, mulailah dengan:

  1. Wilayah untuk model penyematan kesamaan, saat ini di Eropa dan Amerika Serikat.

  2. Wilayah untuk Azure AI Search.

  3. Untuk mendukung kueri hibrid yang menyertakan peringkat semantik, atau jika Anda ingin mencoba integrasi model pembelajaran mesin menggunakan keterampilan kustom dalam alur pengayaan AI, perhatikan wilayah 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==0.28.1

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 = "2023-05-15"

response = openai.Embedding.create(
    input="How do I use Python in VSCode?",
    engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

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 yang cocok dengan konten teks, pencarian lintas bahasa, atau menemukan dokumen serupa.
  • Optimalkan biaya dan performa: Pencarian vektor dapat intensif sumber daya dan tunduk pada batas maksimum, jadi pertimbangkan hanya vektorisasi bidang yang berisi makna semantik.
  • 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.

Langkah berikutnya