Bagikan melalui


Vektorizer API Web Kustom

Vektorizer API web kustom memungkinkan Anda mengonfigurasi kueri pencarian untuk memanggil titik akhir API Web untuk menghasilkan penyematan pada waktu kueri. Struktur payload JSON yang diperlukan untuk diimplementasikan dalam titik akhir yang disediakan dijelaskan lebih lanjut dalam dokumen ini. Data Anda diproses di Geo tempat model Anda disebarkan.

Vektorizer digunakan pada waktu kueri, tetapi ditentukan dalam definisi indeks, dan dirujuk pada bidang vektor melalui profil vektor. Vektorizer API web kustom dipanggil WebApiVectorizer di API.

Parameter vektorizer

Parameternya peka huruf besar/kecil.

Nama Parameter Deskripsi
uri URI API Web tempat payload JSON dikirim. Hanya skema URI https yang diperbolehkan.
httpMethod Metode yang digunakan saat mengirim payload. Metode yang diperbolehkan 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 bersama dengan payload. Header berikut dilarang berada dalam koleksi ini: Accept, , Accept-Charset, Content-LengthAccept-Encoding, Content-Type, Cookie, Host, TE, , Upgrade, . Via
authResourceId (Opsional) String yang jika diatur, menunjukkan bahwa vektorizer ini harus menggunakan identitas terkelola pada koneksi ke fungsi atau aplikasi yang menghosting kode. Properti ini mengambil ID aplikasi (klien) atau pendaftaran aplikasi di ID Microsoft Entra, dalam salah satu format berikut: api://<appId>, , <appId>/.defaultapi://<appId>/.default. Nilai ini digunakan untuk mencakup token autentikasi yang diambil oleh pengindeks, dan dikirim bersama dengan permintaan API Web kustom ke fungsi atau aplikasi. Mengatur properti ini mengharuskan layanan pencarian Anda dikonfigurasi untuk identitas terkelola dan aplikasi fungsi Azure Anda dikonfigurasi untuk masuk Microsoft Entra.
authIdentity (Opsional) Identitas yang dikelola pengguna yang digunakan oleh layanan pencarian untuk menyambungkan ke fungsi atau aplikasi yang menghosting kode. Anda dapat menggunakan sistem atau identitas terkelola pengguna. Untuk menggunakan identitas yang di-manged sistem, biarkan authIdentity kosong.
timeout (Opsional) Ketika ditentukan, menunjukkan batas waktu untuk klien http yang melakukan panggilan API. Interval ini harus diformat sebagai nilai “dayTimeDuration” XSD (subset terbatas dari nilai durasi ISO 8601). Misalnya, PT60S selama 60 detik. Jika tidak diatur, nilai default 30 detik akan dipilih. Batas waktu dapat diatur hingga maksimum 230 detik dan minimal 1 detik.

Jenis kueri vektor yang didukung

Vektorizer API Web Kustom mendukung textkueri , imageUrl, dan imageBinary vektor.

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 yang diharapkan untuk titik akhir saat menggunakannya dengan vektorizer API web kustom sama dengan keterampilan API web kustom, yang dibahas secara lebih rinci dalam dokumentasi untuk keterampilan.

Ada pertimbangan lain berikut yang harus dibuat saat menerapkan titik akhir API web untuk digunakan dengan 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 di-vektorisasi dalam kunci tertentu di data objek JSON dalam payload permintaan. Kunci itu adalah text, , imageUrlatau imageBinary, tergantung pada jenis kueri vektor mana yang diminta.

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

  • Setiap kesalahan atau peringatan yang dikembalikan oleh titik akhir diabaikan oleh vektorizer dan tidak dapat diperoleh untuk tujuan penelusuran kesalahan pada waktu 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