Bagikan melalui


Menyebarkan alur ke titik akhir online untuk inferensi real time dengan CLI

Dalam artikel ini, Anda belajar menyebarkan alur ke titik akhir online terkelola atau titik akhir online Kubernetes untuk digunakan dalam inferensi real time dengan Azure Pembelajaran Mesin v2 CLI.

Sebelum mulai, pastikan Anda telah menguji alur dengan benar, dan merasa yakin bahwa alur siap untuk disebarkan ke produksi. Untuk mempelajari selengkapnya tentang menguji alur Anda, lihat menguji alur Anda. Setelah menguji alur, Anda mempelajari cara membuat titik akhir dan penyebaran online terkelola, dan cara menggunakan titik akhir untuk inferensi real time.

  • Artikel ini membahas cara menggunakan pengalaman CLI.
  • Python SDK tidak tercakup dalam artikel ini. Lihat contoh notebook GitHub sebagai gantinya. Untuk menggunakan Python SDK, Anda harus memiliki Python SDK v2 untuk Azure Pembelajaran Mesin. Untuk mempelajari selengkapnya, lihat Menginstal Python SDK v2 untuk Azure Pembelajaran Mesin.

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Versi pratinjau disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Prasyarat

  • Azure CLI dan ekstensi Azure Pembelajaran Mesin ke Azure CLI. Untuk informasi selengkapnya, lihat Menginstal, menyiapkan, dan menggunakan CLI (v2).
  • Ruang kerja Azure Machine Learning. Jika Anda tidak memilikinya, gunakan langkah-langkah dalam artikel Mulai Cepat: Membuat sumber daya ruang kerja untuk membuatnya.
  • Kontrol akses berbasis peran Azure (Azure RBAC) digunakan untuk memberikan akses ke operasi di Azure Machine Learning. Untuk melakukan langkah-langkah dalam artikel ini, akun pengguna Anda harus diberi peran pemilik atau kontributor untuk ruang kerja Azure Pembelajaran Mesin, atau peran kustom yang memungkinkan "Microsoft.MachineLearningServices/workspaces/onlineEndpoints/". Jika Anda menggunakan studio untuk membuat/mengelola titik akhir/penyebaran online, Anda memerlukan izin lain "Microsoft.Resources/deployments/write" dari pemilik grup sumber daya. Untuk informasi selengkapnya, lihat Mengelola akses ke ruang kerja Azure Machine Learning.

Catatan

Titik akhir online terkelola hanya mendukung jaringan virtual terkelola. Jika ruang kerja Anda berada di jaringan virtual kustom, Anda dapat menyebarkan ke titik akhir online Kubernetes, atau menyebarkan ke platform lain seperti Docker.

Alokasi kuota komputer virtual untuk penyebaran

Untuk titik akhir online terkelola, Azure Pembelajaran Mesin mencadangkan 20% sumber daya komputasi Anda untuk melakukan peningkatan. Oleh karena itu, jika Anda meminta sejumlah instans tertentu dalam penyebaran, Anda harus memiliki kuota yang tersedia untuk ceil(1.2 * number of instances requested for deployment) * number of cores for the VM SKU menghindari kesalahan. Misalnya, jika Anda meminta 10 instans VM Standard_DS3_v2 (yang dilengkapi dengan empat inti) dalam penyebaran, Anda harus memiliki kuota untuk 48 core (12 instans empat core) yang tersedia. Untuk melihat peningkatan penggunaan dan permintaan kuota Anda, lihat Melihat penggunaan dan kuota Anda di portal Azure.

Siapkan alur untuk penyebaran

Setiap alur memiliki folder yang berisi kode/perintah, definisi, dan artefak alur lainnya. Jika Anda telah mengembangkan alur dengan UI, Anda dapat mengunduh folder alur dari halaman detail alur. Jika Anda telah mengembangkan alur dengan CLI atau SDK, Anda harus sudah memiliki folder alur.

Artikel ini menggunakan alur sampel "basic-chat" sebagai contoh untuk disebarkan ke titik akhir online terkelola Azure Pembelajaran Mesin.

Penting

Jika Anda telah menggunakan additional_includes dalam alur Anda, maka Anda perlu menggunakan pf flow build --source <path-to-flow> --output <output-path> --format docker terlebih dahulu untuk mendapatkan versi folder alur yang diselesaikan.

Mengatur ruang kerja default

Gunakan perintah berikut untuk mengatur ruang kerja dan grup sumber daya default untuk CLI.

az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>

Mendaftarkan alur sebagai model (opsional)

Dalam penyebaran online, Anda dapat merujuk ke model terdaftar, atau menentukan jalur model (tempat mengunggah file model dari) sebaris. Disarankan untuk mendaftarkan model dan menentukan nama dan versi model dalam definisi penyebaran. Gunakan formulir model:<model_name>:<version>.

Berikut ini adalah contoh definisi model untuk alur obrolan.

Catatan

Jika alur Anda bukan alur obrolan, Maka Anda tidak perlu menambahkan ini properties.

$schema: https://azuremlschemas.azureedge.net/latest/model.schema.json
name: basic-chat-model
path: ../../../../examples/flows/chat/basic-chat
description: register basic chat flow folder as a custom model
properties:
  # In AuzreML studio UI, endpoint detail UI Test tab needs this property to know it's from prompt flow
  azureml.promptflow.source_flow_id: basic-chat
  
  # Following are properties only for chat flow 
  # endpoint detail UI Test tab needs this property to know it's a chat flow
  azureml.promptflow.mode: chat
  # endpoint detail UI Test tab needs this property to know which is the input column for chat flow
  azureml.promptflow.chat_input: question
  # endpoint detail UI Test tab needs this property to know which is the output column for chat flow
  azureml.promptflow.chat_output: answer

Gunakan az ml model create --file model.yaml untuk mendaftarkan model ke ruang kerja Anda.

Tentukan titik akhir

Untuk menentukan titik akhir, Anda perlu menentukan:

  • Nama titik akhir: Nama titik akhir. Nama harus unik dalam wilayah Azure. Untuk informasi selengkapnya tentang aturan penamaan, lihat batas titik akhir.
  • Mode autentikasi: Metode autentikasi untuk titik akhir. Pilih antara autentikasi berbasis kunci dan autentikasi berbasis token Azure Pembelajaran Mesin. Kunci tidak kedaluwarsa, tetapi token kedaluwarsa. Untuk informasi selengkapnya tentang mengautentikasi, lihat Mengautentikasi ke titik akhir online. Secara opsional, Anda dapat menambahkan deskripsi dan tag ke titik akhir Anda.
  • Secara opsional, Anda dapat menambahkan deskripsi dan tag ke titik akhir Anda.
  • Jika Anda ingin menyebarkan ke kluster Kubernetes (kluster berkemampuan AKS atau Arc) yang melampirkan ke ruang kerja, Anda dapat menyebarkan alur untuk menjadi titik akhir online Kubernetes.

Berikut ini adalah contoh definisi titik akhir yang secara default menggunakan identitas yang ditetapkan sistem.

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: basic-chat-endpoint
auth_mode: key
properties:
# this property only works for system-assigned identity.
# if the deploy user has access to connection secrets, 
# the endpoint system-assigned identity will be auto-assigned connection secrets reader role as well
  enforce_access_to_default_secret_stores: enabled
Kunci Deskripsi
$schema (Optional) Skema YAML. Untuk melihat semua opsi yang tersedia dalam file YAML, Anda dapat melihat skema dalam cuplikan kode sebelumnya di browser.
name Nama titik akhir.
auth_mode Gunakan key untuk autentikasi berbasis kunci. Gunakan aml_token untuk autentikasi berbasis token Azure Machine Learning. Untuk mendapatkan token terbaru, gunakan az ml online-endpoint get-credentials perintah .
property: enforce_access_to_default_secret_stores (pratinjau) - Secara default titik akhir menggunakan identitas yang disejajarkan sistem. Properti ini hanya berfungsi untuk identitas yang ditetapkan sistem.
- Properti ini berarti jika Anda memiliki izin pembaca rahasia koneksi, identitas yang ditetapkan sistem titik akhir ditetapkan secara otomatis azure Pembelajaran Mesin peran Pembaca Rahasia Koneksi Ruang Kerja dari ruang kerja, sehingga titik akhir dapat mengakses koneksi dengan benar saat melakukan inferensi.
- Secara default properti ini 'dinonaktifkan''.

Jika Anda membuat titik akhir online Kubernetes, Anda perlu menentukan atribut berikut:

Kunci Deskripsi
compute Target komputasi Kubernetes untuk menyebarkan titik akhir.

Untuk konfigurasi titik akhir lainnya, lihat skema titik akhir online terkelola.

Penting

Jika alur Anda menggunakan koneksi autentikasi berbasis ID Microsoft Entra, tidak peduli Anda menggunakan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna, Anda selalu perlu memberikan peran identitas terkelola yang sesuai dari sumber daya yang sesuai sehingga dapat melakukan panggilan API ke sumber daya tersebut. Misalnya, jika koneksi Azure OpenAI Anda menggunakan autentikasi berbasis ID Microsoft Entra, Anda perlu memberikan identitas terkelola titik akhir Anda Pengguna OpenAI Cognitive Services atau Peran Kontributor OpenAI Cognitive Services dari sumber daya Azure OpenAI yang sesuai.

Menggunakan identitas yang ditetapkan pengguna

Secara default, saat Anda membuat titik akhir online, identitas terkelola yang ditetapkan sistem secara otomatis dibuat untuk Anda. Anda juga dapat menentukan identitas terkelola yang ditetapkan pengguna yang ada untuk titik akhir.

Jika Anda ingin menggunakan identitas yang ditetapkan pengguna, Anda dapat menentukan atribut berikut di endpoint.yaml:

identity:
  type: user_assigned
  user_assigned_identities:
    - resource_id: user_identity_ARM_id_place_holder

Selain itu, Anda juga perlu menentukan Client ID identitas yang ditetapkan pengguna di deployment.yaml bawah environment_variables sebagai berikut. Anda dapat menemukan Client ID di Overview identitas terkelola di portal Azure.

environment_variables:
  AZURE_CLIENT_ID: <client_id_of_your_user_assigned_identity>

Penting

Anda perlu memberikan izin berikut ke identitas yang ditetapkan pengguna sebelum membuat titik akhir sehingga dapat mengakses sumber daya Azure untuk melakukan inferensi. Pelajari selengkapnya tentang cara memberikan izin ke identitas titik akhir Anda.

Cakupan Peran Mengapa dibutuhkan
Ruang Kerja Azure Machine Learning PeranPembaca Rahasia Koneksi Ruang Kerja Azure Machine LearningATAU peran yang disesuaikan yang berisi "Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action" Dapatkan koneksi ruang kerja
Registri kontainer ruang kerja Penarikan ACR Menarik citra kontainer
Penyimpanan default ruang kerja Pembaca Data Blob Penyimpanan. Memuat model dari penyimpanan
(Opsional) Ruang Kerja Azure Machine Learning Penulis metrik ruang kerja Setelah Anda menyebarkan titik akhir, jika Anda ingin memantau metrik terkait titik akhir seperti pemanfaatan CPU/GPU/Disk/Memori, Anda perlu memberikan izin ini ke identitas.

Menentukan penyebaran

Penyebaran adalah kumpulan sumber daya yang diperlukan untuk menghosting model yang melakukan inferensi aktual.

Berikut ini adalah contoh definisi penyebaran, di mana bagian model mengacu pada model alur terdaftar. Anda juga dapat menentukan jalur model alur sejalan.

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: basic-chat-endpoint
model: azureml:basic-chat-model:1
  # You can also specify model files path inline
  # path: examples/flows/chat/basic-chat
environment: 
  image: mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest
  # inference config is used to build a serving container for online deployments
  inference_config:
    liveness_route:
      path: /health
      port: 8080
    readiness_route:
      path: /health
      port: 8080
    scoring_route:
      path: /score
      port: 8080
instance_type: Standard_E16s_v3
instance_count: 1
environment_variables:
  # for pulling connections from workspace
  PRT_CONFIG_OVERRIDE: deployment.subscription_id=<subscription_id>,deployment.resource_group=<resource_group>,deployment.workspace_name=<workspace_name>,deployment.endpoint_name=<endpoint_name>,deployment.deployment_name=<deployment_name>

  # (Optional) When there are multiple fields in the response, using this env variable will filter the fields to expose in the response.
  # For example, if there are 2 flow outputs: "answer", "context", and I only want to have "answer" in the endpoint response, I can set this env variable to '["answer"]'.
  # If you don't set this environment, by default all flow outputs will be included in the endpoint response.
  # PROMPTFLOW_RESPONSE_INCLUDED_FIELDS: '["category", "evidence"]'
Atribut KETERANGAN
Nama Nama penyebaran.
Nama titik akhir 2 Nama titik akhir untuk membuat penyebaran di bawah.
Model Model yang digunakan untuk penyebaran. Nilai ini dapat berupa referensi ke model berversi yang ada di ruang kerja atau spesifikasi model sebaris.
Lingkungan Lingkungan untuk menghosting model dan kode. Ini berisi:
- image
- inference_config: digunakan untuk membangun kontainer penyajian untuk penyebaran online, termasuk liveness route, , readiness_routedan scoring_route .
Jenis instans Ukuran VM untuk digunakan untuk penyebaran. Untuk daftar ukuran yang didukung, lihat Daftar SKU titik akhir online terkelola.
Jumlah Instans Jumlah instans yang digunakan untuk penyebaran. Mendasarkan nilai pada beban kerja yang Anda harapkan. Untuk ketersediaan tinggi, kami sarankan Anda menetapkan nilai ke setidaknya 3. Kami mencadangkan kuota tambahan sebesar 20% untuk melakukan peningkatan. Untuk informasi selengkapnya, lihat batasan untuk titik akhir online.
Variabel lingkungan Variabel lingkungan berikut perlu diatur untuk titik akhir yang disebarkan dari alur:
- (wajib) PRT_CONFIG_OVERRIDE: untuk menarik koneksi dari ruang kerja
- (opsional) PROMPTFLOW_RESPONSE_INCLUDED_FIELDS:: Ketika ada beberapa bidang dalam respons, menggunakan variabel env ini memfilter bidang untuk diekspos dalam respons.
Misalnya, jika ada dua output alur: "jawaban", "konteks", dan jika Anda hanya ingin memiliki "jawaban" dalam respons titik akhir, Anda dapat mengatur variabel env ini ke '["answer"]'.

Penting

Jika folder alur Anda memiliki requirements.txt file yang berisi dependensi yang diperlukan untuk menjalankan alur, Anda perlu mengikuti penyebaran dengan langkah-langkah lingkungan kustom untuk membangun lingkungan kustom termasuk dependensi.

Jika Anda membuat penyebaran online Kubernetes, Anda perlu menentukan atribut berikut:

Atribut Deskripsi
Jenis Jenis penyebaran. Atur nilainya menjadi kubernetes.
Jenis instans Jenis instans yang telah Anda buat di kluster kubernetes untuk digunakan untuk penyebaran, mewakili sumber daya komputasi permintaan/batas penyebaran. Untuk detail selengkapnya, lihat Membuat dan mengelola jenis instans.

Menyebarkan titik akhir online Anda ke Azure

Untuk membuat titik akhir di cloud, jalankan kode berikut:

az ml online-endpoint create --file endpoint.yml

Untuk membuat penyebaran bernama blue di bagian titik akhir, jalankan kode berikut:

az ml online-deployment create --file blue-deployment.yml --all-traffic

Catatan

Penyebaran ini mungkin memakan waktu lebih dari 15 menit.

Tip

Jika Anda lebih suka tidak memblokir konsol CLI, Anda dapat menambahkan bendera --no-wait ke perintah . Namun, ini menghentikan tampilan interaktif status penyebaran.

Penting

--all-traffic Bendera di sebelumnya az ml online-deployment create mengalokasikan 100% lalu lintas titik akhir ke penyebaran biru yang baru dibuat. Meskipun ini sangat membantu untuk tujuan pengembangan dan pengujian, untuk produksi, Anda mungkin ingin membuka lalu lintas ke penyebaran baru melalui perintah eksplisit. Contohnya,az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100".

Memeriksa status titik akhir dan penyebaran

Untuk memeriksa status titik akhir, jalankan kode berikut:

az ml online-endpoint show -n basic-chat-endpoint

Untuk memeriksa status penyebaran, jalankan kode berikut:

az ml online-deployment get-logs --name blue --endpoint basic-chat-endpoint

Panggil titik akhir lokal untuk menilai data dengan model Anda

Anda dapat membuat file sample-request.json seperti ini:

{
  "question": "What is Azure Machine Learning?",
  "chat_history":  []
}
az ml online-endpoint invoke --name basic-chat-endpoint --request-file sample-request.json

Anda juga dapat memanggilnya dengan klien HTTP, misalnya dengan curl:

ENDPOINT_KEY=<your-endpoint-key>
ENDPOINT_URI=<your-endpoint-uri>

curl --request POST "$ENDPOINT_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data '{"question": "What is Azure Machine Learning?", "chat_history":  []}'

Anda bisa mendapatkan kunci titik akhir dan URI titik akhir Anda dari ruang kerja Azure Pembelajaran Mesin di Titik>Akhir Menggunakan>info konsumsi Dasar.

Konfigurasi tingkat lanjut

Menyebarkan dengan koneksi yang berbeda dari pengembangan alur

Anda mungkin ingin mengambil alih koneksi alur selama penyebaran.

Misalnya, jika file flow.dag.yaml Anda menggunakan koneksi bernama my_connection, Anda dapat mengambil alihnya dengan menambahkan variabel lingkungan dari yaml penyebaran seperti berikut:

Opsi 1: mengesampingkan nama koneksi

environment_variables:
  my_connection: <override_connection_name>

Jika Anda ingin mengambil alih bidang koneksi tertentu, Anda dapat mengambil alih dengan menambahkan variabel lingkungan dengan pola <connection_name>_<field_name>penamaan . Misalnya, jika alur Anda menggunakan koneksi bernama my_connection dengan kunci konfigurasi yang disebut chat_deployment_name, backend penyajian mencoba mengambil chat_deployment_name dari variabel lingkungan 'MY_CONNECTION_CHAT_DEPLOYMENT_NAME' secara default. Jika variabel lingkungan tidak diatur, variabel tersebut menggunakan nilai asli dari definisi alur.

Opsi 2: ambil alih dengan merujuk ke aset

environment_variables:
  my_connection: ${{azureml://connections/<override_connection_name>}}

Catatan

Anda hanya dapat merujuk ke koneksi dalam ruang kerja yang sama.

Menyebarkan dengan lingkungan kustom

Bagian ini menunjukkan kepada Anda cara menggunakan konteks build docker untuk menentukan lingkungan untuk penyebaran Anda, dengan asumsi Anda memiliki pengetahuan tentang lingkungan Docker dan Azure Pembelajaran Mesin.

  1. Di lingkungan lokal Anda, buat folder bernama image_build_with_reqirements berisi file berikut:

    |--image_build_with_reqirements
    |  |--requirements.txt
    |  |--Dockerfile
    
    • requirements.txt harus diwariskan dari folder alur, yang telah digunakan untuk melacak dependensi alur.

    • Kontennya Dockerfile mirip dengan teks berikut:

      FROM mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest
      COPY ./requirements.txt .
      RUN pip install -r requirements.txt
      
  2. ganti bagian lingkungan dalam file yaml definisi penyebaran dengan konten berikut:

    environment: 
      build:
        path: image_build_with_reqirements
        dockerfile_path: Dockerfile
      # deploy prompt flow is BYOC, so we need to specify the inference config
      inference_config:
        liveness_route:
          path: /health
          port: 8080
        readiness_route:
          path: /health
          port: 8080
        scoring_route:
          path: /score
          port: 8080
    

Menggunakan mesin penyajian FastAPI (pratinjau)

Secara default, penyajian alur prompt menggunakan mesin penyajian FLASK. Mulai dari SDK alur prompt versi 1.10.0, mesin penyajian berbasis FastAPI didukung. Anda dapat menggunakan fastapi mesin penyajian dengan menentukan variabel PROMPTFLOW_SERVING_ENGINElingkungan .

environment_variables:
  PROMPTFLOW_SERVING_ENGINE=fastapi

Mengonfigurasi konkurensi untuk penyebaran

Saat Anda menyebarkan alur Anda ke penyebaran online, ada dua variabel lingkungan, yang Anda konfigurasi untuk konkurensi: PROMPTFLOW_WORKER_NUM dan PROMPTFLOW_WORKER_THREADS. Selain itu, Anda juga perlu mengatur max_concurrent_requests_per_instance parameter .

Di bawah ini adalah contoh cara mengonfigurasi dalam deployment.yaml file.

request_settings:
  max_concurrent_requests_per_instance: 10
environment_variables:
  PROMPTFLOW_WORKER_NUM: 4
  PROMPTFLOW_WORKER_THREADS: 1
  • PROMPTFLOW_WORKER_NUM: Parameter ini menentukan jumlah pekerja (proses) yang akan dimulai dalam satu kontainer. Nilai default sama dengan jumlah inti CPU, dan nilai maksimumnya adalah dua kali jumlah inti CPU.

  • PROMPTFLOW_WORKER_THREADS: Parameter ini menentukan jumlah utas yang akan dimulai dalam satu pekerja. Nilai default adalah 1.

    Catatan

    Saat mengatur PROMPTFLOW_WORKER_THREADS ke nilai yang lebih besar dari 1, pastikan kode alur Anda aman untuk utas.

  • max_concurrent_requests_per_instance: Jumlah maksimum permintaan bersamaan per instans yang diizinkan untuk penyebaran. Nilai defaultnya adalah 10.

    Nilai yang disarankan untuk max_concurrent_requests_per_instance tergantung pada waktu permintaan Anda:

    • Jika waktu permintaan Anda lebih besar dari 200 ms, atur max_concurrent_requests_per_instance ke PROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS.
    • Jika waktu permintaan Anda kurang dari atau sama dengan 200 ms, atur max_concurrent_requests_per_instance ke (1.5-2) * PROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS. Ini dapat meningkatkan total throughput dengan memungkinkan beberapa permintaan untuk diantrekan di sisi server.
    • Jika Anda mengirim permintaan lintas wilayah, Anda dapat mengubah ambang batas dari 200 mdtk menjadi 1 dtk.

Saat menyetel parameter di atas, Anda perlu memantau metrik berikut untuk memastikan performa dan stabilitas yang optimal:

  • Pemanfaatan CPU/Memori instans dari penyebaran ini
  • Respons non-200 (4xx, 5xx)
    • Jika Anda menerima respons 429, ini biasanya menunjukkan bahwa Anda perlu menyetel ulang pengaturan konkurensi Anda dengan mengikuti panduan di atas atau menskalakan penyebaran Anda.
  • Status pembatasan Azure OpenAI

Memantau titik akhir

Mengumpulkan metrik umum

Anda dapat melihat metrik umum penyebaran online (nomor permintaan, latensi permintaan, byte jaringan, pemanfaatan CPU/GPU/Disk/Memori, dan banyak lagi).

Mengumpulkan data pelacakan dan metrik sistem selama waktu inferensi

Anda juga dapat mengumpulkan data pelacakan dan metrik spesifik penyebaran alur perintah (konsumsi token, latensi alur, dll.) selama waktu inferensi ke Ruang Kerja yang ditautkan Application Insights dengan menambahkan properti app_insights_enabled: true dalam file yaml penyebaran. Pelajari selengkapnya tentang pelacakan dan metrik penyebaran alur perintah.

Metrik dan jejak spesifik alur perintah dapat ditentukan ke Application Insights lainnya selain ruang kerja yang ditautkan. Anda dapat menentukan variabel lingkungan dalam file yaml penyebaran sebagai berikut. Anda dapat menemukan string koneksi Application Insights Anda di halaman Gambaran Umum di portal Azure.

environment_variables:
  APPLICATIONINSIGHTS_CONNECTION_STRING: <connection_string>

Catatan

Jika Anda hanya mengatur app_insights_enabled: true tetapi ruang kerja Anda tidak memiliki Application Insights yang ditautkan, penyebaran Anda tidak akan gagal tetapi tidak akan ada data yang dikumpulkan. Jika Anda menentukan app_insights_enabled: true variabel lingkungan dan di atas secara bersamaan, data pelacakan dan metrik dikirim ke Application Insights yang ditautkan ruang kerja. Oleh karena itu, jika Anda ingin menentukan Application Insights yang berbeda, Anda hanya perlu menyimpan variabel lingkungan.

Kesalahan umum

Masalah batas waktu permintaan upstram saat menggunakan titik akhir

Kesalahan tersebut biasanya disebabkan oleh waktu habis. Secara default request_timeout_ms adalah 5000. Anda dapat menentukan maksimal hingga 5 menit, yaitu 300.000 ms. Berikut adalah contoh yang menunjukkan cara menentukan batas waktu permintaan dalam file yaml penyebaran. Pelajari selengkapnya tentang skema penyebaran di sini.

request_settings:
  request_timeout_ms: 300000

Penting

Batas waktu 300.000 ms hanya berfungsi untuk penyebaran online terkelola dari alur perintah. Maksimum untuk titik akhir online terkelola alur non-perintah adalah 180 detik.

Anda perlu memastikan bahwa Anda telah menambahkan properti untuk model Anda sebagai berikut (baik spesifikasi model sebaris dalam yaml penyebaran atau yaml spesifikasi model mandiri) untuk menunjukkan ini adalah penyebaran dari alur prompt.

properties:
  # indicate a deployment from prompt flow
  azureml.promptflow.source_flow_id: <value>

Langkah berikutnya