Gunakan model penyematan dari katalog model Microsoft Foundry untuk vektorisasi terintegrasi (pratinjau)

Catatan

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.

Dalam artikel ini, Anda mempelajari cara menggunakan model katalog model Microsoft Foundry untuk vektorisasi terintegrasi (pratinjau) selama pengindeksan dan eksekusi kueri di Pencarian Azure AI.

Alur kerja mengharuskan Anda menyebarkan model dari katalog, yang mencakup penyematan model dari Microsoft dan perusahaan lain. Menyebarkan model dikenakan biaya sesuai dengan struktur penagihan setiap penyedia.

Setelah model disebarkan, Anda dapat menggunakannya dengan keterampilan AML untuk penvektoran terintegrasi selama pengindeksan atau dengan penvektoran katalog model Microsoft Foundry untuk kueri.

Tips

Gunakan wizard Impor data untuk menghasilkan set keterampilan yang menyertakan keterampilan AML untuk model penyematan yang disebarkan pada Foundry. Definisi keterampilan AML untuk input, output, dan pemetaan dihasilkan oleh wizard, yang memberi Anda cara mudah untuk menguji model sebelum menulis kode apa pun.

Prasyarat

Model penyematan yang didukung

Model penyematan yang didukung dari katalog model bervariasi menurut metode penggunaan:

Menyebarkan model embedding dari katalog model

  1. Ikuti instruksi portal ini untuk menyebarkan model yang didukung ke proyek Anda.

  2. Catat URI target, kunci, dan nama model. Anda memerlukan nilai-nilai ini untuk definisi vektorizer dalam indeks pencarian dan untuk set keterampilan yang memanggil titik akhir model selama pengindeksan.

    Jika Anda lebih suka autentikasi token ke autentikasi berbasis kunci, Anda hanya perlu menyalin nama model. Namun, catat wilayah tempat model disebarkan.

  3. Konfigurasikan indeks pencarian dan pengindeks untuk menggunakan model yang disebarkan.

Menyebarkan model embedding sebagai penerapan tanpa server

Vektorizer katalog model AML dan Microsoft Foundry hanya menerima penerapan model embedding Cohere nirkabel. Penyebaran tanpa server melalui portal Microsoft Foundry tidak didukung untuk model ini, jadi gunakan Azure CLI untuk membuat penyebaran. Untuk informasi selengkapnya, lihat Menyebarkan model sebagai penyebaran API tanpa server.

Untuk membuat penyebaran tanpa server Cohere:

  1. Instal Azure CLI dengan ekstensi ml.

    az extension add -n ml
    
  2. Masuk ke Azure dan atur default Anda.

    az login
    az account set --subscription <subscription-id>
    az configure --defaults workspace=<project-name> group=<resource-group>
    
  3. Buat sebuah subscribe.yaml file untuk berlangganan marketplace model tersebut.

    name: cohere-embed-v3-english-subscription
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    

    Untuk model lain yang didukung, ganti ID model dengan salah satu nilai berikut.

    Model Identifikasi Model
    Cohere-embed-v3-english azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    Cohere-embed-v3-multilingual azureml://registries/azureml-cohere/models/Cohere-embed-v3-multilingual
    Cohere-embed-v4 azureml://registries/azureml-cohere/models/Cohere-embed-v4
  4. Jalankan perintah berikut untuk membuat langganan.

    az ml marketplace-subscription create --file subscribe.yaml
    
  5. Buat endpoint.yaml file untuk membuat titik akhir tanpa server.

    name: cohere-embed-v3-english-endpoint
    model_id: azureml://registries/azureml-cohere/models/Cohere-embed-v3-english
    
  6. Jalankan perintah berikut untuk membuat titik akhir.

    az ml serverless-endpoint create --file endpoint.yaml
    
  7. Untuk autentikasi berbasis kunci, dapatkan URI titik akhir dan kunci yang akan digunakan dalam skill atau vectorizer.

    az ml serverless-endpoint show --name cohere-embed-v3-english-endpoint --query "scoring_uri"
    az ml serverless-endpoint get-credentials --name cohere-embed-v3-english-endpoint
    

Contoh payload fungsi AML

Saat Anda menyebarkan model penyematan dari katalog model, Anda menyambungkannya menggunakan kemampuan AML di Pencarian Azure AI untuk mengindeks beban kerja.

Bagian ini menjelaskan definisi keterampilan AML dan pemetaan indeks. Ini termasuk payload sampel yang sudah dikonfigurasi untuk bekerja dengan titik akhir yang disebarkan yang sesuai. Untuk informasi selengkapnya, lihat Konteks keterampilan dan bahasa anotasi input.

Model penyematan kohere

Payload keterampilan AML ini berfungsi dengan model penyematan berikut:

  • Cohere-embed-v3-english
  • Cohere-embed-v3-multilingual
  • Cohere-embed-v4

Ini mengasumsikan bahwa Anda memotong konten Anda menggunakan fitur Pemisahan Teks dan oleh karena itu teks Anda yang akan divektorisasikan berada di jalur /document/pages/*. Jika teks Anda berasal dari jalur yang berbeda, perbarui semua referensi ke jalur /document/pages/* yang sesuai.

Anda harus menambahkan /v1/embed jalur ke akhir URL yang Anda salin dari penyebaran Foundry Anda. Anda mungkin juga dapat mengubah nilai untuk input_type, truncate, dan embedding_types agar lebih sesuai dengan kasus penggunaan Anda. Untuk informasi selengkapnya tentang opsi yang tersedia, tinjau referensi COhere Embed API.

URI dan kunci dihasilkan saat Anda menyebarkan model dari katalog. Untuk informasi selengkapnya tentang nilai-nilai ini, lihat Cara menyebarkan model Cohere Embed dengan Foundry.

{
  "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
  "context": "/document/pages/*",
  "uri": "https://cohere-embed-v3-multilingual-hin.eastus.models.ai.azure.com/v1/embed",
  "key": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333",
  "inputs": [
    {
      "name": "texts",
      "source": "=[$(/document/pages/*)]"
    },
    {
      "name": "input_type",
      "source": "='search_document'"
    },
    {
      "name": "truncate",
      "source": "='NONE'"
    },
    {
      "name": "embedding_types",
      "source": "=['float']"
    }
  ],
  "outputs": [
    {
      "name": "embeddings",
      "targetName": "aml_vector_data"
    }
  ]
}

Selain itu, output model Cohere bukan array penyematan secara langsung, melainkan objek JSON yang berisinya. Anda perlu memilihnya dengan tepat saat memetakannya ke definisi indeks melalui indexProjections atau outputFieldMappings. Berikut adalah contoh indexProjections payload yang memungkinkan Anda menerapkan pemetaan ini.

Jika Anda memilih embedding_types yang berbeda dalam definisi keterampilan Anda, ubah jalur float ke jenis source yang Anda pilih.

"indexProjections": {
  "selectors": [
    {
      "targetIndexName": "<YOUR_TARGET_INDEX_NAME_HERE>",
      "parentKeyFieldName": "ParentKey", // Change this to the name of the field in your index definition where the parent key will be stored
      "sourceContext": "/document/pages/*",
      "mappings": [
        {
          "name": "aml_vector", // Change this to the name of the field in your index definition where the Cohere embedding will be stored
          "source": "/document/pages/*/aml_vector_data/float/0"
        }
      ]
    }
  ],
  "parameters": {}
}

Contoh muatan pemvektor

Vektorisasi katalog model Microsoft Foundry, berbeda dengan keahlian AML, disesuaikan secara khusus untuk bekerja hanya dengan model pembenaman yang dapat diterapkan melalui katalog model. Perbedaan utamanya adalah Anda tidak perlu khawatir tentang payload permintaan dan respons. Namun, Anda harus memberikan modelName, sesuai dengan "ID Model" yang Anda salin setelah menerapkan model.

Berikut adalah contoh data tentang bagaimana Anda akan mengonfigurasi vektorisasi pada definisi indeks Anda dengan mempertimbangkan properti yang disalin dari Foundry.

Untuk model Cohere, Anda TIDAK boleh menambahkan 'path' /v1/embed ke akhir URL seperti yang Anda lakukan pada bagian skill.

"vectorizers": [
    {
        "name": "<YOUR_VECTORIZER_NAME_HERE>",
        "kind": "aml",
        "amlParameters": {
            "uri": "<YOUR_URL_HERE>",
            "key": "<YOUR_PRIMARY_KEY_HERE>",
            "modelName": "<YOUR_MODEL_ID_HERE>"
        },
    }
]

Menyambungkan menggunakan autentikasi token

Jika Anda tidak dapat menggunakan autentikasi berbasis kunci, Anda dapat mengonfigurasi fitur AML dan koneksi vektorizer model katalog Microsoft Foundry untuk autentikasi token melalui kontrol akses berbasis peran pada Azure.

Layanan pencarian Anda harus memiliki sistem atau identitas terkelola yang ditetapkan pengguna, dan identitas harus memiliki izin Pemilik atau Kontributor untuk proyek Anda. Anda kemudian dapat menghapus key bidang dari definisi keterampilan dan vektorizer Anda, menggantinya dengan resourceId. Jika proyek dan layanan pencarian Anda berada di wilayah yang berbeda, berikan juga bidang region.

"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only needed if project is in different region from search service

Catatan

Integrasi ini saat ini tidak mendukung autentikasi token untuk model Cohere. Anda harus menggunakan autentikasi berbasis kunci.