Keterampilan AML

Note

Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.

Penting

Fitur, kemampuan, atau properti yang ditandai (pratinjau) tidak tercakup dalam perjanjian tingkat layanan, tidak disarankan untuk beban kerja produksi, dan mungkin berubah atau dibatasi sebelum tersedia secara umum. Ketentuan pratinjau Pencarian Azure AI berlaku untuk semua fungsionalitas pratinjau, baik itu mandiri atau bagian dari fitur yang tersedia secara umum.

Gunakan keterampilan AML untuk memperluas pengayaan AI dengan model penyematan dasar yang disebarkan dari katalog model Microsoft Foundry (pratinjau) atau model Azure Machine Learning kustom (AML). Data Anda diproses di Geo tempat model Anda disebarkan.

Anda menentukan keterampilan AML dalam kumpulan keterampilan, yang kemudian mengintegrasikan model yang Anda sebarkan ke dalam rangkaian pengayaan AI. Keterampilan AML berguna untuk melakukan pemrosesan atau inferensi yang tidak didukung oleh keterampilan bawaan. Contohnya termasuk menghasilkan penyematan dengan model Anda sendiri dan menerapkan logika pembelajaran mesin kustom ke konten yang diperkaya.

Untuk titik akhir online AML, gunakan versi API yang stabil atau Azure SDK yang setara untuk memanggil keterampilan AML. Untuk koneksi ke katalog model, gunakan versi API pratinjau.

Penggunaan keterampilan AML

Seperti keterampilan lain, keterampilan AML memiliki input dan output. Input dikirim sebagai objek JSON ke penyebaran tanpa server dari katalog model Foundry atau titik akhir online AML. Output harus mencakup kode status keberhasilan, payload JSON, dan parameter yang ditentukan oleh definisi keterampilan AML Anda. Respons lain dianggap sebagai kesalahan, dan tidak ada pengayaan yang dilakukan.

Pengindeks mencoba kembali dua kali untuk kode status HTTP berikut:

  • 503 Service Unavailable
  • 429 Too Many Requests

Keterampilan AML untuk model di Microsoft Foundry (pratinjau)

Pencarian Azure AI menyediakan vektorisasi katalog model Microsoft Foundry (pratinjau), yang juga tersedia di panduan Impor data, untuk koneksi pada waktu kueri ke katalog model. Jika Anda ingin menggunakan vektorizer ini untuk kueri, keterampilan AML adalah pendamping pengindeksan untuk menghasilkan penyematan menggunakan model dari katalog model.

Selama pengindeksan, keterampilan AML dapat terhubung ke katalog model untuk menghasilkan vektor untuk indeks. Pada waktu kueri, kueri dapat menggunakan vektorizer untuk menyambungkan ke model yang sama untuk mem-vektorisasi string teks. Anda harus menggunakan kemampuan AML dan vektorizer dari katalog model Microsoft Foundry bersama-sama sehingga model penyematan yang sama digunakan untuk pengindeksan dan kueri. Untuk informasi selengkapnya, lihat Gunakan model penyematan dari katalog model Foundry.

Sebaiknya gunakan wizard Impor data untuk menghasilkan set keterampilan yang menyertakan keterampilan AML untuk model penyematan yang disebarkan di Foundry. Wizard menghasilkan definisi keterampilan AML untuk input, output, dan pemetaan, menyediakan cara mudah untuk menguji model sebelum menulis kode apa pun.

Prasyarat

  • Proyek berbasis hub Microsoft Foundry atau ruang kerja AML untuk model kustom yang Anda buat.

  • Hanya untuk proyek berbasis hub, penyebaran tanpa server model supported dari katalog model Microsoft Foundry. Anda dapat menggunakan Azure CLI untuk menyediakan penyebaran tanpa server.

@odata.type

Microsoft.Skills.Custom.AmlSkill

Parameter keterampilan

Parameter sensitif terhadap huruf besar dan kecil. Parameter yang Anda gunakan bergantung pada autentikasi apa yang diperlukan penyedia model Anda, jika ada.

Nama parameter Deskripsi
uri (Diperlukan untuk autentikasi key) URI target penyebaran tanpa server dari katalog model Microsoft Foundry atau URI penilaian titik akhir online AML. Hanya skema HTTPS URI yang diizinkan. Model yang didukung dari katalog model (hanya penyebaran tanpa server) adalah:
  • Cohere-embed-v3-bahasa Inggris
  • Cohere-embed-v3-multilingual
  • Cohere-embed-v4
key (Diperlukan untuk autentikasi kunci) Kunci API penyedia model.
resourceId (Diperlukan untuk autentikasi token) ID sumber daya dari Azure Resource Manager penyedia model tersebut. Untuk titik akhir online AML, gunakan format subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}.
region (Opsional untuk autentikasi token) Wilayah di mana penyedia model diterapkan. Diperlukan jika wilayah berbeda dari wilayah layanan pencarian.
timeout (Opsional) Waktu habis untuk klien HTTP yang melakukan panggilan API. Ini harus diformat sebagai nilai "dayTimeDuration" XSD, yang merupakan subset terbatas dari nilai durasi ISO 8601 . Misalnya, PT60S selama 60 detik. Jika tidak diatur, nilai default 30 detik dipilih. Anda dapat mengatur batas waktu minimal 1 detik dan maksimum 230 detik.
degreeOfParallelism (Opsional) Jumlah panggilan yang dilakukan pengindeks secara paralel dengan titik akhir yang Anda sediakan. Anda dapat mengurangi nilai ini jika titik akhir Anda gagal di bawah beban permintaan yang terlalu tinggi. Anda dapat menaikkannya jika titik akhir Anda dapat menerima lebih banyak permintaan dan Anda ingin meningkatkan performa pengindeks. Jika tidak diatur, nilai default 5 digunakan. Anda dapat mengatur degreeOfParallelism ke minimal 1 dan maksimum 10.

Otentikasi

Keterampilan AML menyediakan dua opsi autentikasi:

  • Autentikasi berbasis kunci: Anda menyediakan kunci statis untuk mengautentikasi permintaan penilaian dari keterampilan AML. Atur parameter uri dan key untuk koneksi ini.

  • Autentikasi berbasis token: Proyek berbasis hub Foundry atau titik akhir online AML disebarkan menggunakan autentikasi berbasis token. Layanan Pencarian Azure AI harus memiliki identitas terkelola dan penetapan peran bagi penyedia model. Keterampilan AML kemudian menggunakan identitas layanan pencarian untuk mengautentikasi terhadap penyedia model, tanpa kunci statis yang diperlukan. Identitas layanan pencarian harus memiliki peran Pemilik atau Kontributor . Atur resourceId parameter, dan jika layanan pencarian berada di wilayah yang berbeda dari penyedia model, atur region parameter .

Masukan keterampilan

Input kemampuan adalah simpul dari dokumen yang diperkaya yang dibuat selama pemecahan dokumen. Misalnya, mungkin dokumen akar, gambar yang dinormalisasi, atau konten blob. Tidak ada input yang telah ditentukan sebelumnya untuk keterampilan ini. Untuk input, Anda harus menentukan satu atau beberapa simpul yang diisi pada saat eksekusi kemampuan AML.

Keluaran Keterampilan

Output keterampilan adalah simpul baru dari dokumen yang diperkaya yang dibuat oleh keterampilan. Tidak ada output yang telah ditentukan sebelumnya untuk keterampilan ini. Untuk output, Anda harus menyediakan elemen yang dapat diisi dari respons JSON skill AML Anda.

Contoh definisi

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A custom model that detects the language in a document.",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Sampel struktur JSON input

Struktur JSON ini mewakili payload yang dikirim ke proyek berbasis hub Foundry atau titik akhir online AML Anda. Bidang tingkat atas struktur sesuai dengan "nama" yang ditentukan di bagian inputs definisi keterampilan. Nilai bidang tersebut berasal dari "sumber" bidang tersebut, yang bisa berasal dari bidang dalam dokumen atau keterampilan lain.

{
  "text": "Este es un contrato en Inglés"
}

Sampel output struktur JSON

Output sesuai dengan respons dari proyek berbasis hub Foundry atau titik akhir online AML Anda. Penyedia model hanya boleh mengembalikan payload JSON (diverifikasi dengan melihat header respons Content-Type) dan harus menjadi objek yang bidangnya merupakan pengayaan yang cocok dengan "nama" di output dan yang nilainya dianggap sebagai pengayaan.

{
    "detected_language_code": "es"
}

Definisi sampel pembentukan sebaris

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A sample model that detects the language of sentence",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "shapedText",
        "sourceContext": "/document",
        "inputs": [
            {
              "name": "content",
              "source": "/document/content"
            }
        ]
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Struktur JSON input pembentukan terintegrasi

{
  "shapedText": { "content": "Este es un contrato en Inglés" }
}

Struktur JSON output sampel pembentukan sebaris

{
    "detected_language_code": "es"
}

Kasus kesalahan

Selain proyek berbasis hub Foundry atau titik akhir online AML Anda yang tidak tersedia atau mengirim kode status yang tidak berhasil, kasus berikut dianggap sebagai kesalahan:

  • Penyedia model mengembalikan kode status keberhasilan, tetapi respons menunjukkan bahwa itu bukan application/json. Responsnya dengan demikian tidak valid, dan tidak ada pengayaan yang dilakukan.

  • Penyedia model mengembalikan JSON yang tidak valid.

Jika penyedia model tidak tersedia atau mengembalikan kesalahan HTTP, pesan kesalahan yang mudah dimengerti dengan detail yang tersedia tentang kesalahan HTTP ditambahkan ke riwayat eksekusi pengindeksan.