Bagikan melalui


Keterampilan Penyematan Azure OpenAI

Keterampilan Penyematan Azure OpenAI terhubung ke model penyematan yang disebarkan ke Azure OpenAI Anda di sumber daya Model Foundry atau proyek Microsoft Foundry untuk menghasilkan penyematan selama pengindeksan. Data Anda diproses di Geo tempat model Anda disebarkan.

Wizard Impor data (baru) di portal Microsoft 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 menyematkan model.

Note

Keterampilan ini terikat ke Azure OpenAI dan dikenakan biaya dengan harga Azure OpenAI Standard.

Prerequisites

  • Sumber daya Azure OpenAI di Foundry Models atau proyek Foundry.

    • Sumber daya Azure OpenAI Anda harus memiliki subdomain kustom, seperti https://<resource-name>.openai.azure.com. Anda dapat menemukan titik akhir ini di halaman Kunci dan Titik Akhir di portal Microsoft Azure dan menggunakannya untuk resourceUri properti dalam keterampilan ini.

    • Sumber daya induk proyek Foundry Anda menyediakan akses ke beberapa titik akhir, termasuk https://<resource-name>.openai.azure.com, , https://<resource-name>.services.ai.azure.comdan https://<resource-name>.cognitiveservices.azure.com. Anda dapat menemukan titik akhir ini di halaman Kunci dan Titik Akhir di portal Microsoft Azure dan menggunakan salah satunya untuk resourceUri properti dalam keterampilan ini.

  • Model penyematan Azure OpenAI yang disebarkan ke sumber daya atau proyek Anda. Untuk model yang didukung, lihat bagian Parameter keterampilan .

@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

Parameter peka huruf besar/kecil.

Inputs Description
resourceUri (Diperlukan) URI penyedia model. Domain yang didukung adalah:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

Bidang ini diperlukan jika sumber daya Anda disebarkan di belakang titik akhir privat atau menggunakan integrasi jaringan virtual (VNet). Titik akhir Azure API Management didukung dengan URL https://<resource-name>.azure-api.net. Tautan privat bersama tidak didukung untuk titik akhir API Management.

apiKey Kunci rahasia yang digunakan untuk mengakses model. Jika Anda menyediakan kunci, biarkan authIdentity kosong. Jika Anda mengatur dan apiKeyauthIdentity, apiKey digunakan pada koneksi.
deploymentId (Diperlukan) ID model penyematan Azure OpenAI yang disebarkan. Ini adalah nama penyebaran yang Anda tentukan saat Anda menyebarkan model.
authIdentity Identitas yang dikelola pengguna yang digunakan oleh layanan pencarian untuk koneksi. Anda dapat menggunakan identitas yang dikelola sistem atau pengguna. Untuk menggunakan identitas yang dikelola 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 (Diperlukan) Nama model Azure OpenAI yang disebarkan pada yang ditentukan deploymentId. Nilai yang didukung adalah:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small
dimensions (Opsional) Dimensi penyematan yang ingin Anda hasilkan, dengan asumsi model mendukung berbagai dimensi. Defaultnya adalah dimensi maksimum untuk setiap model. Untuk skillset yang dibuat dengan versi REST API sebelum pratinjau 2023-10-01, dimensi diperbaiki pada 1536. Jika Anda mengatur dimensions properti dalam keterampilan ini, atur dimensions properti pada definisi bidang vektor ke nilai yang sama.

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 Description
text Teks input yang akan di-vektorisasi. Jika Anda menggunakan potongan data, sumbernya mungkin /document/pages/*.

Output keterampilan

Output Description
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"
    }
  ]
}

Contoh keluaran

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

Condition Result
URI null atau tidak valid Error
DEPLOYMENTID null atau tidak valid Error
Teks kosong Warning
Teks lebih besar dari 8.000 token Error

Lihat juga