Bagikan melalui


Keterampilan Penyematan Azure OpenAI

Penting

Fitur ini berada di pratinjau publik dalam Ketentuan Penggunaan Tambahan. REST API pratinjau 2023-10-01 mendukung iterasi pertama fitur ini. REST API pratinjau 2024-05-01 menambahkan lebih banyak properti dan mendukung lebih banyak model penyematan teks di Azure OpenAI.

Keterampilan Penyematan Azure OpenAI terhubung ke model penyematan yang disebarkan pada sumber daya Azure OpenAI Anda untuk menghasilkan penyematan selama pengindeksan. Data Anda diproses di Geo tempat model Anda disebarkan.

Wizard Impor dan vektorisasi data di portal Azure menggunakan keterampilan Penyematan Azure OpenAI untuk mem-vektorisasi konten. Anda dapat menjalankan wizard dan meninjau set keterampilan yang dihasilkan untuk melihat bagaimana wizard membangun keterampilan untuk model text-embedding-ada-002.

Catatan

Keterampilan ini terikat ke Azure OpenAI dan dibebankan pada harga bayar sesuai penggunaan Azure OpenAI yang ada.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Batasan data

Ukuran maksimum input teks harus 8.000 token. Jika input melebihi maksimum yang diizinkan, model akan menampilkan kesalahan permintaan yang tidak valid. Untuk informasi selengkapnya, lihat konsep kunci token dalam dokumentasi Azure OpenAI. Pertimbangkan untuk menggunakan keterampilan Pemisahan Teks jika Anda memerlukan pemotongan data.

Parameter keterampilan

Parameternya peka huruf besar/kecil.

Input Deskripsi
resourceUri URI penyedia model, seperti sumber daya Azure OpenAI atau URL OpenAI.
apiKey Kunci rahasia yang digunakan untuk mengakses model. Jika Anda menyediakan kunci, biarkan authIdentity kosong. Jika Anda mengatur apiKey dan authIdentity, apiKey digunakan pada koneksi.
deploymentId Nama model penyematan Azure OpenAI yang disebarkan. Model harus menjadi model penyematan, seperti text-embedding-ada-002. Lihat Daftar model Azure OpenAI untuk model yang didukung.
authIdentity Identitas yang dikelola pengguna yang digunakan oleh layanan pencarian untuk menyambungkan ke Azure OpenAI. Anda dapat menggunakan sistem atau identitas terkelola pengguna. Untuk menggunakan identitas yang di-manged sistem, biarkan apiKey dan authIdentity kosong. Identitas yang dikelola sistem digunakan secara otomatis. Identitas terkelola harus memiliki izin Pengguna OpenAI Cognitive Services untuk mengirim teks ke Azure OpenAI.
modelName Properti ini diperlukan jika set keterampilan Anda dibuat menggunakan REST API pratinjau 2024-05-01. Atur properti ini ke nama penyebaran model penyematan Azure OpenAI yang disebarkan pada penyedia yang ditentukan melalui resourceUri dan diidentifikasi melalui deploymentId. Saat ini, nilai yang didukung adalah text-embedding-ada-002, text-embedding-3-large, dan text-embedding-3-small.
dimensions (Opsional, diperkenalkan dalam REST API 2024-05-01-preview). Dimensi penyematan yang ingin Anda hasilkan jika model mendukung pengurangan dimensi penyematan. Rentang yang didukung tercantum di bawah ini. Default ke dimensi maksimum untuk setiap model jika tidak ditentukan. Untuk skillset yang dibuat menggunakan pratinjau 2023-10-01, dimensi diperbaiki pada 1536.

Dimensi yang didukung berdasarkan modelName

Dimensi yang didukung untuk keterampilan Azure OpenAI Embedding bergantung pada modelName yang dikonfigurasi.

modelName Dimensi minimum Dimensi maksimum
text-embedding-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

Input keterampilan

Input Deskripsi
text Teks input yang akan di-vektorisasi. Jika Anda menggunakan potongan data, sumbernya mungkin /document/pages/*.

Output keterampilan

Output Deskripsi
embedding Penyematan vektorisasi untuk teks input.

Definisi sampel

Pertimbangkan catatan yang memiliki bidang berikut:

{
    "content": "Microsoft released Windows 10."
}

Kemudian definisi keterampilan Anda mungkin terlihat seperti ini:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Sampel output

Untuk teks input yang diberikan, output penyematan vektorisasi diproduksi.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

Output berada dalam memori. Untuk mengirim output ini ke bidang dalam indeks pencarian, Anda harus menentukan outputFieldMapping yang memetakan output penyematan vektor (yang merupakan array) ke bidang vektor. Dengan asumsi output keterampilan berada di simpul penyematan dokumen, dan content_vector adalah bidang dalam indeks pencarian, outputFieldMapping di pengindeks akan terlihat seperti:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Praktik terbaik

Berikut ini adalah beberapa praktik terbaik yang perlu Anda pertimbangkan saat menggunakan keterampilan ini:

  • Jika Anda mencapai batas Azure OpenAI TPM (Token per menit), pertimbangkan saran batas kuota sehingga Anda dapat mengatasinya. Lihat dokumentasi pemantauan Azure OpenAI untuk informasi selengkapnya tentang performa instans Azure OpenAI Anda.

  • Penyebaran model penyematan Azure OpenAI yang Anda gunakan untuk keterampilan ini harus idealnya terpisah dari penyebaran yang digunakan untuk kasus penggunaan lain, termasuk vektorizer kueri. Ini membantu setiap penyebaran disesuaikan dengan kasus penggunaan spesifiknya, yang mengarah ke performa yang dioptimalkan dan mengidentifikasi lalu lintas dari pengindeks dan panggilan penyematan indeks dengan mudah.

  • Instans Azure OpenAI Anda harus berada di wilayah yang sama atau setidaknya secara geografis dekat dengan wilayah tempat layanan Pencarian AI Anda dihosting. Ini mengurangi latensi dan meningkatkan kecepatan transfer data antara layanan.

  • Jika Anda memiliki batas TPM (Token per menit) Azure OpenAI default yang lebih besar dari yang diterbitkan dalam dokumentasi kuota dan batasan , buka kasus dukungan dengan tim Azure AI Search, sehingga ini dapat disesuaikan. Ini membantu proses pengindeksan Anda tidak diperlambat secara tidak perlu oleh batas TPM default yang didokumenkan, jika Anda memiliki batas yang lebih tinggi.

  • Untuk contoh dan sampel kode kerja menggunakan keterampilan ini, lihat tautan berikut:

Kesalahan dan peringatan

Kondisi Hasil
URI null atau tidak valid Kesalahan
DEPLOYMENTID null atau tidak valid Kesalahan
Teks kosong Peringatan
Teks lebih besar dari 8.000 token Kesalahan

Lihat juga