Bagikan melalui


Tutorial: Memilih model penyematan dan obrolan untuk RAG di Azure AI Search

Solusi RAG yang dibangun di Azure AI Search mengambil dependensi pada penyematan model untuk vektorisasi, dan model obrolan untuk pencarian percakapan atas data Anda.

Di tutorial ini, Anda akan:

  • Pelajari model mana di cloud Azure yang berfungsi dengan integrasi bawaan
  • Pelajari tentang model Azure yang digunakan untuk obrolan
  • Menyebarkan model dan mengumpulkan informasi model untuk kode Anda
  • Mengonfigurasi akses mesin pencari ke model Azure
  • Pelajari tentang keterampilan kustom dan vektorizer untuk melampirkan model non-Azure

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Prasyarat

  • portal Azure, digunakan untuk menyebarkan model dan mengonfigurasi penetapan peran di cloud Azure.

  • Peran Pemilik atau Administrator Akses Pengguna pada langganan Azure Anda, diperlukan untuk membuat penetapan peran. Anda menggunakan setidaknya tiga sumber daya Azure dalam tutorial ini. Koneksi diautentikasi menggunakan ID Microsoft Entra, yang memerlukan kemampuan untuk membuat peran. Penetapan peran untuk menyambungkan ke model didokumentasikan dalam artikel ini. Jika Anda tidak dapat membuat peran, Anda dapat menggunakan kunci API sebagai gantinya.

  • Penyedia model, seperti Azure OpenAI, Azure AI Vision melalui sumber daya multi-layanan layanan Azure AI, atau Azure AI Foundry.

    Kami menggunakan Azure OpenAI dalam tutorial ini. Penyedia lain tercantum sehingga Anda mengetahui opsi Anda untuk vektorisasi terintegrasi.

  • Azure AI Search, Tingkat dasar, atau yang lebih tinggi menyediakan identitas terkelola yang digunakan dalam penetapan peran.

  • Wilayah bersama. Untuk menyelesaikan semua tutorial dalam seri ini, wilayah harus mendukung Azure AI Search dan penyedia model. Lihat wilayah yang didukung untuk:

    Azure AI Search saat ini menghadapi ketersediaan terbatas di beberapa wilayah. Untuk mengonfirmasi status wilayah, periksa daftar wilayah Pencarian Azure AI.

Tip

Periksa artikel ini untuk daftar wilayah yang tumpang tindih.

Meninjau model yang mendukung vektorisasi bawaan

Konten vektorisasi meningkatkan hasil kueri dalam solusi RAG. Azure AI Search mendukung tindakan vektorisasi bawaan dalam alur pengindeksan. Ini juga mendukung vektorisasi pada waktu kueri, mengonversi input teks atau gambar menjadi penyematan untuk pencarian vektor. Dalam langkah ini, identifikasi model penyematan yang berfungsi untuk konten dan kueri Anda. Jika Anda menyediakan data vektor mentah dan kueri vektor mentah, atau jika solusi RAG Anda tidak menyertakan data vektor, lewati langkah ini.

Kueri vektor yang menyertakan langkah konversi teks ke vektor harus menggunakan model penyematan yang sama yang digunakan selama pengindeksan. Mesin pencari tidak melemparkan kesalahan jika Anda menggunakan model yang berbeda, tetapi Anda mendapatkan hasil yang buruk.

Untuk memenuhi persyaratan model yang sama, pilih model penyematan yang dapat direferensikan melalui keterampilan selama pengindeksan dan melalui vektorizer selama eksekusi kueri. Tabel berikut mencantumkan pasangan keterampilan dan vektorizer. Untuk melihat bagaimana model penyematan digunakan, lewati ke depan untuk Membuat alur pengindeksan untuk kode yang memanggil keterampilan penyematan dan vektorizer yang cocok.

Azure AI Search menyediakan dukungan keterampilan dan vektorizer untuk model penyematan berikut di cloud Azure.

Klien Menyematkan model Keterampilan Vektorizer
Azure OpenAI text-embedding-ada-002,
text-embedding-3-large,
text-embedding-3-small
AzureOpenAIEmbedding AzureOpenAIEmbedding
Azure AI Visual multimodal 4,0 1 AzureAIVision AzureAIVision
Katalog model Azure AI Foundry Facebook-DinoV2-Image-Embeddings-ViT-Base,
Facebook-DinoV2-Image-Embeddings-ViT-Giant,
Cohere-embed-v3-english,
Cohere-embed-v3-multilingual
AML2 Katalog model Azure AI Foundry

1 Mendukung vektorisasi gambar dan teks.

2 Model yang disebarkan dalam katalog model diakses melalui titik akhir AML. Kami menggunakan keterampilan AML yang ada untuk koneksi ini.

Anda dapat menggunakan model lain selain yang tercantum di sini. Untuk informasi selengkapnya, lihat Menggunakan model non-Azure untuk penyematan dalam artikel ini.

Catatan

Input ke model penyematan biasanya merupakan data yang dipotong. Dalam pola AZURE AI Search RAG, potongan ditangani dalam alur pengindeks, tercakup dalam tutorial lain dalam seri ini.

Meninjau model yang digunakan untuk AI generatif pada waktu kueri

Azure AI Search tidak memiliki kode integrasi untuk model obrolan, jadi Anda harus memilih LLM yang anda kenal dan yang memenuhi kebutuhan Anda. Anda dapat mengubah kode kueri untuk mencoba model yang berbeda tanpa harus membangun ulang indeks atau menjalankan ulang bagian mana pun dari alur pengindeksan. Tinjau Cari dan hasilkan jawaban untuk kode yang memanggil model obrolan.

Model berikut umumnya digunakan untuk pengalaman pencarian obrolan:

Klien Model obrolan
Azure OpenAI GPT-35-Turbo,
GPT-4,
GPT-4o,
GPT-4 Turbo

Model GPT-35-Turbo dan GPT-4 dioptimalkan untuk bekerja dengan input yang diformat sebagai percakapan.

Kami menggunakan GPT-4o dalam tutorial ini. Selama pengujian, kami menemukan bahwa cenderung tidak melengkapi dengan data pelatihannya sendiri. Misalnya, mengingat kueri "berapa banyak bumi yang dicakup oleh air?", GPT-35-Turbo menjawab menggunakan pengetahuan bawaannya tentang bumi untuk menyatakan bahwa 71% bumi ditutupi oleh air, meskipun data sampel tidak memberikan fakta itu. Sebaliknya, GPT-4o merespons (dengan benar) dengan "Saya tidak tahu".

Menyebarkan model dan mengumpulkan informasi

Model harus disebarkan dan dapat diakses melalui titik akhir. Keterampilan dan vektorizer terkait penyematan membutuhkan jumlah dimensi dan nama model.

Seri tutorial ini menggunakan model dan penyedia model berikut:

  • Penyematan teks-3-besar di Azure OpenAI untuk penyematan
  • GPT-4o di Azure OpenAI untuk penyelesaian obrolan

Anda harus memiliki Kontributor OpenAI Cognitive Services atau yang lebih tinggi untuk menyebarkan model di Azure OpenAI.

  1. Buka Azure AI Foundry.

  2. Pilih Penyebaran di menu sebelah kiri.

  3. Pilih Sebarkan model>Sebarkan model dasar.

  4. Pilih text-embedding-3-large dari daftar dropdown dan konfirmasi pilihan.

  5. Tentukan nama penyebaran. Kami merekomendasikan "text-embedding-3-large".

  6. Terima default.

  7. Pilih Sebarkan.

  8. Ulangi langkah-langkah sebelumnya untuk gpt-4o.

  9. Catat nama model dan titik akhir. Menyematkan keterampilan dan vektorizer merakit titik akhir penuh secara internal, sehingga Anda hanya memerlukan URI sumber daya. Misalnya, mengingat https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01, titik akhir yang harus Anda berikan dalam definisi keterampilan dan vektorizer adalah https://MY-FAKE-ACCOUNT.openai.azure.com.

Mengonfigurasi akses mesin pencari ke model Azure

Untuk eksekusi alur dan kueri, tutorial ini menggunakan ID Microsoft Entra untuk autentikasi dan peran untuk otorisasi.

Tetapkan diri Anda dan izin identitas layanan pencarian di Azure OpenAI. Kode untuk tutorial ini berjalan secara lokal. Permintaan ke Azure OpenAI berasal dari sistem Anda. Selain itu, hasil pencarian dari mesin pencari diteruskan ke Azure OpenAI. Untuk alasan ini, Anda dan layanan pencarian memerlukan izin di Azure OpenAI.

  1. Masuk ke portal Azure dan temukan layanan pencarian Anda.

  2. Konfigurasikan Azure AI Search untuk menggunakan identitas yang dikelola sistem.

  3. Temukan sumber daya Azure OpenAI Anda.

  4. Pilih Kontrol akses (IAM) di menu sebelah kiri.

  5. Pilih Tambahkan penetapan peran.

  6. Pilih Pengguna OpenAI Cognitive Services.

  7. Pilih Identitas terkelola lalu pilih Anggota. Temukan identitas yang dikelola sistem untuk layanan pencarian Anda di daftar dropdown.

  8. Selanjutnya, pilih Pengguna, grup, atau perwakilan layanan lalu pilih Anggota. Cari akun pengguna Anda lalu pilih dari daftar dropdown.

  9. Pastikan Anda memiliki dua prinsip keamanan yang ditetapkan untuk peran tersebut.

  10. Pilih Tinjau dan Tetapkan untuk membuat penetapan peran.

Untuk akses ke model di Azure AI Vision, tetapkan Pengguna OpenAI Cognitive Services. Untuk Azure AI Foundry, tetapkan Azure AI Developer.

Menggunakan model non-Azure untuk penyematan

Pola untuk mengintegrasikan model penyematan apa pun adalah membungkusnya dalam keterampilan kustom dan vektorizer kustom. Bagian ini menyediakan tautan ke artikel referensi. Untuk contoh kode yang memanggil model non-Azure, lihat demo penyematan kustom.

Klien Menyematkan model Keterampilan Vektorizer
Apa pun Apa pun keterampilan kustom vektorizer kustom

Langkah selanjutnya