Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan kezelheti a kiszolgálói végpontokat kiszolgáló modelleket a kiszolgáló felhasználói felületen és a REST API-val. Lásd : Végpontok kiszolgálása a REST API-referenciaban.
A végpontokat kiszolgáló modell létrehozásához használja az alábbiak egyikét:
- Végpontokat kiszolgáló egyéni modell létrehozása.
- Végpontokat kiszolgáló alapmodell létrehozása.
A modellvégpont állapotának lekérése
A végpont állapotát a kiszolgáló felhasználói felületén vagy programozott módon ellenőrizheti a REST API, a Databricks Workspace-ügyfél vagy az MLflow Deployments SDK használatával.
A végpont állapota lehet Ready, Ready (Update failed), Not ready (Updating)vagy Not ready (Update failed)Not ready (Stopped). A felkészültség azt jelenti, hogy lekérdezhető-e egy végpont. A frissített hiba azt jelzi, hogy a végpont legutóbbi módosítása sikertelen volt. A leállítás azt jelenti, hogy a végpont le lett állítva.
UI
A végpont adatoldalának tetején található kiszolgálói végpont állapotjelzője :
REST API
GET /api/2.0/serving-endpoints/{name}
A következő példaválaszban a state.ready mező "KÉSZ", ami azt jelenti, hogy a végpont készen áll a forgalom fogadására. A state.update_state mező NOT_UPDATING, és a pending_config már nem lesz visszaadva, mert a frissítés sikeresen befejeződött.
{
"name": "unity-model-endpoint",
"creator": "customer@example.com",
"creation_timestamp": 1666829055000,
"last_updated_timestamp": 1666829055000,
"state": {
"ready": "READY",
"update_state": "NOT_UPDATING"
},
"config": {
"served_entities": [
{
"name": "my-ads-model",
"entity_name": "myCatalog.mySchema.my-ads-model",
"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": "my-ads-model",
"traffic_percentage": 100
}
]
},
"config_version": 1
},
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"permission_level": "CAN_MANAGE"
}
Databricks Workspace-ügyfél
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
endpoint = w.serving_endpoints.get(name="my-endpoint")
print(f"Endpoint state: {endpoint.state.ready}")
print(f"Update state: {endpoint.state.config_update}")
MLflow Deployments SDK
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.get_endpoint(endpoint="my-endpoint")
print(f"Endpoint state: {endpoint['state']}")
print(f"Endpoint config: {endpoint['config']}")
Egy modellt kiszolgáló végpont leállítása
Ideiglenesen leállíthat egy végpontot kiszolgáló modellt, és később elindíthatja azt. Végpont leállítása esetén:
- A számára kiosztott erőforrások leállnak.
- A végpont nem tudja kiszolgálni a lekérdezéseket, amíg újra nem indítja.
- Csak olyan végpontok állíthatók le, amelyek egyéni modelleket szolgálnak ki, és nem rendelkeznek folyamatban lévő frissítésekkel.
- A leállított végpontok nem számítanak bele az erőforráskvótába.
- A leállított végpontra küldött lekérdezések 400-os hibát adnak vissza.
Végpont leállítása
UI
Kattintson a Jobb felső sarokban található Leállítás gombra.
REST API
POST /api/2.0/serving-endpoints/{name}/config:stop
Végpont elindítása
A végpont indításakor létrejön egy új konfigurációs verzió, amely ugyanazokkal a tulajdonságokkal rendelkezik, mint a meglévő leállított konfiguráció.
Ha készen áll egy leállított modellkiszolgáló végpont újraindítására:
UI
Kattintson a Jobb felső sarokban lévő Start gombra.
REST API
POST /api/2.0/serving-endpoints/{name}/config:start
Végpontot kiszolgáló modell törlése
A végpont törlése letiltja a használatot, és törli a végponthoz társított összes adatot. A törlés nem vonható vissza.
UI
Kattintson a felső kebab menüre, és válassza a Törléslehetőséget.
REST API
DELETE /api/2.0/serving-endpoints/{name}
MLflow Deployments SDK
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
client.delete_endpoint(endpoint="chat")
Végpontot kiszolgáló modell hibakeresése
A végpontokkal kapcsolatos problémák hibakereséséhez kétféle napló érhető el:
- Modellkiszolgáló tárolólétrehozási naplói: A tároló létrehozásakor a végpont inicializálása során jön létre. Ezek a naplók rögzítik a telepítési fázist, beleértve a modell letöltését, a függőségek telepítését és a futtatókörnyezet konfigurálását. Ezekkel a naplókkal hibakeresést végezhet arról, hogy egy végpont miért nem indult el vagy elakadt az üzembe helyezés során.
- Modellkiszolgáló naplói: Futásidőben jönnek létre, amikor a végpont aktívan szolgálja ki az előrejelzéseket. Ezek a naplók rögzítik a bejövő kéréseket, a modell következtetésének végrehajtását, a futásidejű hibákat és az alkalmazásszintű naplózást a modellkódból. Ezekkel a naplókkal hibakeresést végezhet az előrejelzésekben, vagy kivizsgálhatja a lekérdezési hibákat.
Mindkét naplótípus a Naplók lap Végpontok felhasználói felületén is elérhető.
A tároló buildnaplóinak lekérése
Egy kiszolgált modell buildnaplóihoz az alábbi kérést használhatja. További információt a Modellkiszolgáló hibakeresési útmutatójában talál.
GET /api/2.0/serving-endpoints/{name}/served-models/{served-model-name}/build-logs
{
"config_version": 1 // optional
}
Modellkiszolgáló naplóinak lekérése
Egy kiszolgálómodell modellkiszolgálói naplóihoz a következő kérést használhatja:
GET /api/2.0/serving-endpoints/{name}/served-models/{served-model-name}/logs
{
"config_version": 1 // optional
}
Engedélyek kezelése végpontot kiszolgáló modellen
Az engedélyek módosításához legalább a CAN MANAGE engedéllyel kell rendelkeznie egy kiszolgáló végponton. A jogosultsági szintekről további információt a végponti ACL-ek kiszolgálása című témakörben talál.
Kérje le a kiszolgáló végpont engedélyeinek listáját.
UI
Kattintson a felhasználói felület jobb felső sarkában található Engedélyek gombra.
A Databricks parancssori felülete
databricks permissions get serving-endpoints <endpoint-id>
Adja meg a felhasználónak jsmith@example.com a CAN QUERY engedélyt a kiszolgáló végponton.
databricks permissions update serving-endpoints <endpoint-id> --json '{
"access_control_list": [
{
"user_name": "jsmith@example.com",
"permission_level": "CAN_QUERY"
}
]
}'
A végpontengedélyek kiszolgálását az Permissions API használatával is módosíthatja.
Kiszolgáló nélküli használati szabályzat hozzáadása egy végpontot kiszolgáló modellhez
Fontos
Ez a funkció nyilvános előzetes verzióban van, és nem érhető el olyan végpontokhoz, amelyek külső modelleketszolgálnak ki.
A kiszolgáló nélküli használati szabályzatok lehetővé teszik a szervezet számára, hogy egyéni címkéket alkalmazzanak a kiszolgáló nélküli használatra a részletes számlázási hozzárendeléshez. Ha a munkaterület kiszolgáló nélküli használati szabályzatokat használ a kiszolgáló nélküli használat attribútumához, hozzáadhat egy kiszolgáló nélküli használati szabályzatot a végpontokat kiszolgálói modellhez. Lásd : Attribútumhasználat kiszolgáló nélküli használati szabályzatokkal.
A végpontlétrehozási modell létrehozása során kiválaszthatja a végpont kiszolgáló nélküli használati szabályzatát a Kiszolgálói felhasználói felület Költségvetés szabályzat menüjéből. Ha kiszolgáló nélküli használati szabályzat van hozzárendelve Önhöz, a rendszer minden létrehozott végponthoz hozzárendeli azt a kiszolgáló nélküli használati szabályzatot, még akkor is, ha nem választ ki szabályzatot a Költségvetés házirend menüjéből.
Ha rendelkezik MANAGE engedéllyel egy meglévő végponthoz, szerkeszthet és hozzáadhat kiszolgáló nélküli használati szabályzatot az adott végponthoz a felhasználói felület Végpont részletei lapján.
Jegyzet
Ha kiszolgáló nélküli használati szabályzatot kapott, a meglévő végpontok nem lesznek automatikusan címkézve a szabályzattal. Ha kiszolgáló nélküli használati szabályzatot szeretne hozzájuk csatolni, manuálisan kell frissítenie a meglévő végpontokat.
Végpontsémát kiszolgáló modell lekérése
Fontos
A végpontlekérdezés sémáinak kiszolgálása nyilvános előzetes verzióban érhető el. Ez a funkció a Modellkiszolgáló régiókban érhető el.
A kiszolgálói végpontlekérdezés sémája a kiszolgáló végpontjának formális leírása a standard OpenAPI-specifikáció JSON formátumban történő használatával. Információkat tartalmaz a végpontról, beleértve a végpont elérési útját, a végpont lekérdezésének részleteit, például a kérelem- és választörzs formátumát, valamint az egyes mezők adattípusát. Ezek az információk hasznosak lehetnek a reprodukálhatósági forgatókönyvekben, vagy ha a végponttal kapcsolatos információkra van szüksége, de nem Ön az eredeti végpont létrehozója vagy tulajdonosa.
A modell végpontséma lekéréséhez a kiszolgált modellnek naplózott modellaírással kell rendelkeznie, és a végpontnak READY állapotban kell lennie.
Az alábbi példák bemutatják, hogyan lehet programozott módon lekérni a végpontsémát kiszolgáló modellt a REST API használatával. A szolgáltatásvégpontok sémáit a szolgáltatás-kiszolgáló végpontok című témakörben talál.
Az API által visszaadott séma az OpenAPI-specifikációt követő JSON-objektum formátumában található.
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"
Sémaválasz részletei
A válasz egy JSON formátumú OpenAPI-specifikáció, amely általában olyan mezőket tartalmaz, mint a openapi, infoservers és paths. Mivel a sémaválasz egy JSON-objektum, elemezheti azt közös programozási nyelvek használatával, és ügyfélkódot hozhat létre a specifikációból külső eszközökkel.
Az OpenAPI-specifikációt külső eszközök, például a Swagger Editor használatával is megjelenítheti.
A válasz fő mezői a következők:
- A
info.titlemező a kiszolgáló végpont nevét jeleníti meg. - A
serversmező mindig egy objektumot tartalmaz, általában azt aurlmezőt, amely a végpont alap URL-címe. - A
pathsválaszban szereplő objektum egy végpont összes támogatott elérési útját tartalmazza. Az objektum kulcsai az elérési út URL-címe. Mindegyikpathtámogatja a bemenetek több formátumát. Ezek a bemenetek szerepelnek aoneOfmezőben.
Az alábbiakban egy példa végpontséma-választ mutatunk be:
{
"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"
}
}
}
}
}
}
}
}
}
}
}
}