Bagikan melalui


Mengonfigurasi pengoptimalan rute pada titik akhir penyajian

Artikel ini menjelaskan cara mengonfigurasi pengoptimalan rute pada penyajian model atau fitur yang melayani titik akhir dan cara mengkuerinya. Rute yang dioptimalkan untuk melayani titik akhir secara dramatis menurunkan latensi overhead dan memungkinkan peningkatan substansial dalam throughput yang didukung oleh titik akhir Anda.

Pengoptimalan rute direkomendasikan untuk beban kerja sensitif throughput tinggi atau latensi.

Persyaratan

  • Untuk pengoptimalan rute pada model yang melayani titik akhir, lihat Persyaratan.
  • Untuk pengoptimalan rute pada titik akhir penyajian fitur, lihat Persyaratan.

Mengaktifkan pengoptimalan rute pada model yang melayani titik akhir

route_optimized Tentukan parameter selama pembuatan titik akhir penyajian model untuk mengonfigurasi titik akhir Anda untuk pengoptimalan rute. Anda hanya dapat menentukan parameter ini selama pembuatan titik akhir, Anda tidak dapat memperbarui titik akhir yang ada untuk dioptimalkan rute.

POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config":{
    "served_entities": [{
      "entity_name": "ads1",
      "entity_version": "1",
      "workload_type": "CPU",
      "workload_size": "Small",
      "scale_to_zero_enabled": true,
    }],
  },
  "route_optimized": true
}

Anda dapat mengaktifkan pengoptimalan rute untuk titik akhir di Antarmuka pengguna Penyajian. Jika Anda menggunakan Python, Anda bisa menggunakan buku catatan berikut untuk membuat titik akhir penyajian yang dioptimalkan rute.

Membuat titik akhir penyajian yang dioptimalkan rute menggunakan notebook Python

Dapatkan buku catatan

Mengaktifkan pengoptimalan rute pada titik akhir penyajian fitur

Untuk menggunakan pengoptimalan rute untuk Fitur dan Penyajian Fungsi, tentukan nama lengkap spesifikasi fitur di entity_name bidang untuk melayani permintaan pembuatan titik akhir. entity_version tidak diperlukan untuk FeatureSpecs.


POST /api/2.0/serving-endpoints

{
  "name": "my-endpoint",
  "config": {
    "served_entities": [
      {
        "entity_name": "catalog_name.schema_name.feature_spec_name",
        "workload_type": "CPU",
        "workload_size": "Small",
        "scale_to_zero_enabled": true
      }
    ]
  },
  "route_optimized": true
}

Model yang dioptimalkan rute kueri yang melayani titik akhir

Langkah-langkah berikut menunjukkan cara menguji kueri model yang dioptimalkan rute yang melayani titik akhir.

Untuk penggunaan produksi, seperti menggunakan titik akhir yang dioptimalkan rute Anda dalam aplikasi, Anda harus membuat token OAuth. Langkah-langkah berikut menunjukkan cara mengambil token di Antarmuka Pengguna penyajian. Untuk alur kerja terprogram, lihat Mengambil token OAuth secara terprogram.

  1. Ambil token OAuth dari Antarmuka Pengguna Penyajian ruang kerja Anda.
    1. Klik Sajikan di bar samping untuk menampilkan antarmuka pengguna Penyajian.
    2. Pada halaman Titik akhir penayangan, pilih titik akhir rute yang dioptimalkan untuk melihat detail titik akhir.
    3. Pada halaman detail titik akhir, klik tombol Titik akhir kueri.
    4. Pilih tab Ambil Token .
    5. Pilih tombol Ambil Token OAuth. Token ini berlaku selama 1 jam. Ambil token baru jika token Anda saat ini kedaluwarsa.
  2. Dapatkan URL titik akhir penyajian model Anda dari halaman detail titik akhir dari Antarmuka pengguna Penyajian.
  3. Gunakan token OAuth dari langkah 1 dan URL titik akhir dari langkah 2 untuk mengisi kode contoh berikut yang mengkueri titik akhir yang dioptimalkan rute.

url="your-endpoint-url"
OAUTH_TOKEN=xxxxxxx

curl -X POST -H 'Content-Type: application/json' -H "Authorization: Bearer $OAUTH_TOKEN" -d@data.json $url

Agar Python SDK mengkueri titik akhir yang dioptimalkan rute, hubungi tim akun Databricks Anda.

Mengambil token OAuth secara terprogram

Autentikasi mesin-ke-mesin (M2M) OAuth memberikan panduan tentang cara mengambil token OAuth secara terprogram. Selain langkah-langkah tersebut, Anda harus menentukan authorization_details dalam permintaan.

  • Ganti <token-endpoint-URL> dengan URL titik akhir token sebelumnya.
  • Ganti <client-id> dengan ID klien perwakilan layanan, yang juga dikenal sebagai ID aplikasi.
  • Ganti <client-secret> dengan rahasia OAuth perwakilan layanan yang Anda buat.
  • Ganti <endpoint-id> dengan ID titik akhir titik akhir yang dioptimalkan rute. Anda dapat mengambil ini dari hostName di url titik akhir.
  • Ganti <action> dengan izin tindakan yang diberikan kepada perwakilan layanan. Tindakannya bisa query_inference_endpoint atau manage_inference_endpoint.

Contohnya:

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      export ENDPOINT_ID=<endpoint-id>
      export ACTION=<action>

      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      --data-urlencode 'authorization_details=[{"type":"workspace_permission","object_type":"serving-endpoints","object_path":"'"/serving-endpoints/$ENDPOINT_ID"'","actions": ["'"$ACTION"'"]}]'

Batasan

  • Pengoptimalan rute hanya tersedia untuk model kustom yang melayani titik akhir dan fitur yang melayani titik akhir. API Model Fondasi dan Model Eksternal tidak didukung.
  • Token OAuth internal Databricks adalah satu-satunya autentikasi yang didukung untuk pengoptimalan rute. Token akses pribadi tidak didukung.
  • Pengoptimalan rute tidak memberlakukan pembatasan jaringan Private Link apa pun yang telah Anda konfigurasi di ruang kerja Azure Databricks Anda. Jika Anda mengharuskan model yang melayani lalu lintas terikat oleh kontrol tersebut, jangan aktifkan pengoptimalan rute. Jika Anda memiliki persyaratan jaringan tersebut dan masih ingin mencoba merutekan penyajian model yang dioptimalkan, hubungi tim akun Databricks Anda.
  • Pengoptimalan rute tidak tersedia di wilayah tertentu. Jika Anda tidak melihat opsi untuk mengaktifkan pengoptimalan rute di Antarmuka pengguna Penyajian, hubungi tim akun Databricks Anda.