Mengelola titik akhir penyajian model
Artikel ini menjelaskan cara mengelola model yang melayani titik akhir menggunakan Antarmuka Pengguna Penyajian dan REST API. Lihat Menyajikan titik akhir dalam referensi REST API.
Untuk membuat titik akhir penyajian model, gunakan salah satu hal berikut:
- Membuat model kustom yang melayani titik akhir.
- Buat model AI generatif yang melayani titik akhir.
Mendapatkan status titik akhir model
Di Antarmuka pengguna Penyajian, Anda dapat memeriksa status titik akhir dari indikator Status titik akhir penyajian di bagian atas halaman detail titik akhir Anda.
Anda dapat menggunakan periksa status dan detail titik akhir secara terprogram menggunakan REST API atau MLflow Deployments SDK
REST API
GET /api/2.0/serving-endpoints/{name}
Contoh berikut mendapatkan detail titik akhir yang melayani versi ads1
pertama model yang terdaftar dalam registri model. Untuk menentukan model dari Unity Catalog, berikan nama model lengkap termasuk katalog dan skema induk seperti, catalog.schema.example-model
.
Dalam contoh respons berikut, state.ready
bidangnya adalah "SIAP", yang berarti titik akhir siap untuk menerima lalu lintas. Bidang state.update_state
ini dan NOT_UPDATING
pending_config
tidak lagi dikembalikan karena pembaruan berhasil diselesaikan.
{
"name": "workspace-model-endpoint",
"creator": "customer@example.com",
"creation_timestamp": 1666829055000,
"last_updated_timestamp": 1666829055000,
"state": {
"ready": "READY",
"update_state": "NOT_UPDATING"
},
"config": {
"served_entities": [
{
"name": "ads1-1",
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": false,
"state": {
"deployment": "DEPLOYMENT_READY",
"deployment_state_message": ""
},
"creator": "customer@example.com",
"creation_timestamp": 1666829055000
}
],
"traffic_config": {
"routes": [
{
"served_model_name": "ads1-1",
"traffic_percentage": 100
}
]
},
"config_version": 1
},
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"permission_level": "CAN_MANAGE"
}
SDK Penyebaran MLflow
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.get_endpoint(endpoint="chat")
assert endpoint == {
"name": "chat",
"creator": "alice@company.com",
"creation_timestamp": 0,
"last_updated_timestamp": 0,
"state": {...},
"config": {...},
"tags": [...],
"id": "88fd3f75a0d24b0380ddc40484d7a31b",
}
Menghapus titik akhir penyajian model
Untuk menonaktifkan penayangan untuk model, Anda dapat menghapus titik akhir tempat model ditayangkan.
Anda dapat menghapus titik akhir dari halaman detail titik akhir di antarmuka pengguna Penyajian.
- Klik Sajikan di bilah samping.
- Klik titik akhir yang ingin Anda hapus.
- Klik menu kebab di bagian atas dan pilih Hapus.
Atau, Anda dapat menghapus titik akhir penyajian secara terprogram menggunakan REST API atau MLflow Deployments SDK
REST API
DELETE /api/2.0/serving-endpoints/{name}
SDK Penyebaran MLflow
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
client.delete_endpoint(endpoint="chat")
Men-debug titik akhir penyajian model Anda
Untuk men-debug masalah apa pun dengan titik akhir, Anda dapat mengambil:
- Log build kontainer server model
- Log server model
Log ini juga dapat diakses dari antarmuka pengguna Titik Akhir di tab Log .
Untuk log build untuk model yang dilayani, Anda dapat menggunakan permintaan berikut:
GET /api/2.0/serving-endpoints/{name}/served-models/{served-model-name}/build-logs
{
“config_version”: 1 // optional
}
Untuk log server model untuk model layanan, Anda dapat menggunakan permintaan berikut:
GET /api/2.0/serving-endpoints/{name}/served-models/{served-model-name}/logs
{
“config_version”: 1 // optional
}
Mengelola izin pada titik akhir penyajian model Anda
Anda harus memiliki setidaknya izin CAN MANAGE pada titik akhir penyajian untuk mengubah izin. Untuk informasi selengkapnya tentang tingkat izin, lihat Menyajikan ACL titik akhir.
Dapatkan daftar izin pada titik akhir penyajian.
databricks permissions get servingendpoints <endpoint-id>
Beri pengguna jsmith@example.com
izin CAN QUERY pada titik akhir penyajian.
databricks permissions update servingendpoints <endpoint-id> --json '{
"access_control_list": [
{
"user_name": "jsmith@example.com",
"permission_level": "CAN_QUERY"
}
]
}'
Anda juga dapat memodifikasi izin titik akhir penyajian menggunakan API Izin.
Mendapatkan model yang melayani skema titik akhir
Penting
Dukungan untuk melayani skema kueri titik akhir ada di Pratinjau Umum. Fungsionalitas ini tersedia di wilayah Model Serving.
Skema kueri titik akhir penyajian adalah deskripsi formal tentang titik akhir penyajian menggunakan spesifikasi OpenAPI standar dalam format JSON. Ini berisi informasi tentang titik akhir termasuk jalur titik akhir, detail untuk mengkueri titik akhir seperti format isi permintaan dan respons, dan jenis data untuk setiap bidang. Informasi ini dapat membantu untuk skenario reproduksi atau ketika Anda memerlukan informasi tentang titik akhir, tetapi bukan pembuat atau pemilik titik akhir asli.
Untuk mendapatkan model yang melayani skema titik akhir, model yang dilayani harus memiliki tanda tangan model yang dicatat dan titik akhir harus dalam keadaan READY
.
Contoh berikut menunjukkan cara mendapatkan model yang melayani skema titik akhir secara terprogram menggunakan REST API. Untuk fitur yang melayani skema titik akhir, lihat Apa itu Penyajian Fitur Databricks?.
Skema yang dikembalikan oleh API dalam format objek JSON yang mengikuti spesifikasi OpenAPI.
ACCESS_TOKEN="<endpoint-token>"
ENDPOINT_NAME="<endpoint name>"
curl "https://example.databricks.com/api/2.0/serving-endpoints/$ENDPOINT_NAME/openapi" -H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json"
Detail respons skema
Responsnya adalah spesifikasi OpenAPI dalam format JSON, biasanya termasuk bidang seperti openapi
, info
, servers
dan paths
. Karena respons skema adalah objek JSON, Anda dapat mengurainya menggunakan bahasa pemrograman umum, dan menghasilkan kode klien dari spesifikasi menggunakan alat pihak ketiga.
Anda juga dapat memvisualisasikan spesifikasi OpenAPI menggunakan alat pihak ketiga seperti Swagger Editor.
Bidang utama respons meliputi:
- Bidang
info.title
memperlihatkan nama titik akhir penyajian. - Bidang
servers
selalu berisi satu objek, biasanyaurl
bidang yang merupakan url dasar titik akhir. - Objek
paths
dalam respons berisi semua jalur yang didukung untuk titik akhir. Kunci dalam objek adalah URL jalur. Masing-masingpath
dapat mendukung beberapa format input. Input ini tercantum dioneOf
bidang .
Berikut ini adalah contoh respons skema titik akhir:
{
"openapi": "3.1.0",
"info": {
"title": "example-endpoint",
"version": "2"
},
"servers": [{ "url": "https://example.databricks.com/serving-endpoints/example-endpoint"}],
"paths": {
"/served-models/vanilla_simple_model-2/invocations": {
"post": {
"requestBody": {
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"properties": {
"dataframe_split": {
"type": "object",
"properties": {
"columns": {
"description": "required fields: int_col",
"type": "array",
"items": {
"type": "string",
"enum": [
"int_col",
"float_col",
"string_col"
]
}
},
"data": {
"type": "array",
"items": {
"type": "array",
"prefixItems": [
{
"type": "integer",
"format": "int64"
},
{
"type": "number",
"format": "double"
},
{
"type": "string"
}
]
}
}
}
},
"params": {
"type": "object",
"properties": {
"sentiment": {
"type": "number",
"format": "double",
"default": "0.5"
}
}
}
},
"examples": [
{
"columns": [
"int_col",
"float_col",
"string_col"
],
"data": [
[
3,
10.4,
"abc"
],
[
2,
20.4,
"xyz"
]
]
}
]
},
{
"type": "object",
"properties": {
"dataframe_records": {
"type": "array",
"items": {
"required": [
"int_col",
"float_col",
"string_col"
],
"type": "object",
"properties": {
"int_col": {
"type": "integer",
"format": "int64"
},
"float_col": {
"type": "number",
"format": "double"
},
"string_col": {
"type": "string"
},
"becx_col": {
"type": "object",
"format": "unknown"
}
}
}
},
"params": {
"type": "object",
"properties": {
"sentiment": {
"type": "number",
"format": "double",
"default": "0.5"
}
}
}
}
}
]
}
}
}
},
"responses": {
"200": {
"description": "Successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"predictions": {
"type": "array",
"items": {
"type": "number",
"format": "double"
}
}
}
}
}
}
}
}
}
}
}
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk