Vektorisasi API Web Kustom

Vektorizer API Web Kustom memungkinkan Anda mengonfigurasi kueri pencarian untuk memanggil titik akhir API web yang menghasilkan penyematan pada waktu kueri. Struktur payload JSON yang diperlukan untuk titik akhir dijelaskan nanti dalam artikel ini. Data Anda diproses dalam geography tempat model Anda disebarkan.

Meskipun vektorizer digunakan pada waktu kueri, Anda menentukannya dalam definisi indeks dan mereferensikannya pada bidang vektor melalui profil vektor. Untuk informasi selengkapnya, lihat Mengonfigurasi vektorizer dalam indeks pencarian.

Vektorizer API web kustom dipanggil WebApiVectorizer di REST API. Gunakan versi stabil terbaru Indexes - Create (REST API) atau paket SDK Azure yang menyediakan fitur tersebut.

Parameter vektorisasi

Parameter bersifat peka terhadap huruf besar/kecil.

Nama Parameter Deskripsi
uri URI API Web tempat payload JSON dikirim. Hanya skema URI https yang diperbolehkan.
httpMethod Metode yang digunakan untuk mengirim muatan. Metode yang diizinkan adalah PUT atau POST.
httpHeaders Kumpulan pasangan kunci-nilai di mana kunci mewakili nama header dan nilai mewakili nilai header yang dikirim ke API web Anda dengan payload. Header berikut dilarang dalam koleksi ini: Accept, , , Accept-CharsetAccept-EncodingContent-Length, Content-Type, Cookie, Host, TE, , Upgrade, . Via
authResourceId (Opsional) String yang, jika diatur, menunjukkan bahwa vektorizer ini menggunakan identitas terkelola untuk koneksi ke fungsi atau aplikasi yang menghosting kode. Properti ini mengambil ID aplikasi (klien) atau pendaftaran aplikasi dalam Microsoft Entra ID dalam salah satu format berikut: api://<appId>, <appId>/.default, api://<appId>/.default. Nilai ini mencakup token autentikasi yang diambil oleh alur kueri dan dikirim dengan permintaan API web kustom ke fungsi atau aplikasi. Mengatur properti ini mengharuskan search service Anda dikonfigurasi untuk identitas terkelola dan aplikasi fungsi Azure Anda dikonfigurasi agar dapat masuk Microsoft Entra.
authIdentity (Opsional) Identitas yang dikelola pengguna yang digunakan oleh search service untuk terhubung ke fungsi atau aplikasi yang menghosting kode. Anda dapat menggunakan identitas yang dikelola sistem atau dikelola pengguna. Untuk menggunakan identitas yang dikelola sistem, biarkan authIdentity kosong.
timeout (Opsional) Waktu habis untuk klien HTTP yang melakukan panggilan API. Ini harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601 ). Misalnya, PT60S berarti 60 detik. Jika tidak diatur, defaultnya adalah 30 detik. Batas waktu bisa antara 1 dan 230 detik.

Jenis kueri vektor yang didukung

API Web Kustom Vectorizer mendukung kueri vektor text, imageUrl, dan imageBinary.

Definisi sampel

"vectorizers": [
    {
        "name": "my-custom-web-api-vectorizer",
        "kind": "customWebApi",
        "customWebApiParameters": {
            "uri": "https://contoso.embeddings.com",
            "httpMethod": "POST",
            "httpHeaders": {
                "api-key": "0000000000000000000000000000000000000"
            },
            "timeout": "PT60S",
            "authResourceId": null,
            "authIdentity": null
        }
    }
]

Struktur payload JSON

Struktur payload JSON yang diperlukan untuk titik akhir yang digunakan dengan vektorizer API Web Kustom sama dengan struktur yang digunakan oleh keterampilan API Web Kustom, yang dibahas secara lebih rinci dalam dokumentasi keterampilan.

Ingatlah pertimbangan berikut saat menerapkan titik akhir API web untuk vektorizer API Web Kustom.

  • Vektorizer hanya mengirim satu rekaman pada satu waktu dalam values array saat membuat permintaan ke titik akhir.

  • Vektorizer meneruskan data yang akan diubah menjadi vektor dalam kunci tertentu di data objek JSON dalam payload permintaan. Kunci itu adalah text, , imageUrlatau imageBinary, tergantung pada jenis kueri vektor mana yang diminta.

  • Vectorizer mengharapkan embedding yang dihasilkan berada di bawah kunci vector di objek data JSON dalam payload respons.

  • Setiap kesalahan atau peringatan yang dikembalikan oleh titik akhir diabaikan oleh vektorisasi dan tidak tersedia untuk pemecahan masalah saat kueri.

  • imageBinary Jika kueri vektor diminta, payload permintaan yang dikirim ke titik akhir adalah sebagai berikut:

    {
        "values": [
            {
                "recordId": "0",
                "data":
                {
                    "imageBinary": {
                        "data": "<base 64 encoded image binary data>"
                    }
                }
            }
        ]
    }
    

Lihat juga