Megosztás a következőn keresztül:


Következtetési táblák engedélyezése végpontokat kiszolgáló modellen az API használatával

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Ez a cikk bemutatja, hogyan használható a Databricks API a végpontot kiszolgáló modell következtetési tábláinak engedélyezésére. A következtetési táblák használatával kapcsolatos általános információkért, beleértve a Databricks felhasználói felületének engedélyezését, tekintse meg a modellek figyelésére és hibakeresésére szolgáló következtetési táblákat.

Ha új végpontot vagy meglévő végpontot hoz létre, engedélyezheti a következtetési táblákat. A Databricks azt javasolja, hogy hozza létre a végpontot egy szolgáltatásnévvel, hogy a következtetési tábla ne legyen hatással, ha a végpontot létrehozó felhasználót eltávolítják a munkaterületről.

A következtetési táblák tulajdonosa a végpontot létrehozó felhasználó. A táblázatban szereplő összes hozzáférés-vezérlési lista (ACL) a unitykatalógus szabványos engedélyeit követi, és a tábla tulajdonosa módosíthatja.

Követelmények

  • A munkaterületen engedélyezve kell lennie a Unity-katalógusnak.
  • Ha következtetési táblákat szeretne engedélyezni egy végponton, a végpont létrehozójának és a módosítónak a következő engedélyekkel kell rendelkeznie:
    • A CAN MANAGE engedély a végponton.
    • USE CATALOG engedélyek a megadott katalógusban.
    • USE SCHEMA engedélyeket a megadott sémán.
    • CREATE TABLE engedélyeket a sémában.

Következtetési táblák engedélyezése végpontlétrehozáskor az API használatával

Az API használatával engedélyezheti a végpontok következtetési tábláinak használatát a végpontok létrehozása során. A végpontok létrehozásával kapcsolatos utasításokért lásd : Végpontokat kiszolgáló egyéni modell létrehozása.

Az API-ban a kérelem törzsének meg kell adnia a auto_capture_config következőket:

  • A Unity-katalógus katalógusa: a táblázat tárolására használt katalógust képviselő sztring
  • A Unity Catalog-séma: a táblát tároló sémát képviselő sztring
  • (nem kötelező) táblaelőtag: a következtetési tábla nevének előtagjaként használt sztring. Ha nincs megadva, a rendszer a végpont nevét használja.
  • (nem kötelező) engedélyezve: a következtetési táblák engedélyezéséhez vagy letiltásához használt logikai érték. Ez alapértelmezés szerint igaz.

A katalógus, séma és opcionálisan táblaelőtag megadása után a rendszer létrehoz egy táblát.<catalog>.<schema>.<table_prefix>_payload Ez a tábla automatikusan létrehoz egy Unity Catalog által felügyelt táblát. A tábla tulajdonosa a végpontot létrehozó felhasználó.

Feljegyzés

A meglévő tábla megadása nem támogatott, mivel a következtetési tábla mindig automatikusan létrejön a végpontlétrehozáskor vagy a végpontfrissítéseknél.

Figyelmeztetés

A következtetési tábla megsérülhet, ha az alábbi műveletek valamelyikét hajtja végre:

  • Módosítsa a táblázatsémát.
  • Módosítsa a tábla nevét.
  • Törölje a táblát.
  • Elveszítheti a Unity-katalógus vagy -séma engedélyeit.

Ebben az esetben a auto_capture_config végpont állapota a hasznos adattáblához tartozó állapotot FAILED jeleníti meg. Ha ez történik, létre kell hoznia egy új végpontot a következtetési táblák használatának folytatásához.

Az alábbi példa bemutatja, hogyan engedélyezheti a következtetési táblákat a végpont létrehozása során.

POST /api/2.0/serving-endpoints

{
  "name": "feed-ads",
  "config":{
    "served_entities": [
      {
       "entity_name": "ads1",
       "entity_version": "1",
       "workload_size": "Small",
       "scale_to_zero_enabled": true
      }
    ],
    "auto_capture_config":{
       "catalog_name": "ml",
       "schema_name": "ads",
       "table_name_prefix": "feed-ads-prod"
    }
  }
}

A válasz a következőképpen néz ki:

{
  "name": "feed-ads",
  "creator": "customer@example.com",
  "creation_timestamp": 1666829055000,
  "last_updated_timestamp": 1666829055000,
  "state": {
    "ready": "NOT_READY",
    "config_update": "IN_PROGRESS"
  },
  "pending_config": {
    "start_time": 1666718879000,
    "served_entities": [
      {
        "name": "ads1-1",
        "entity_name": "ads1",
        "entity_version": "1",
        "workload_size": "Small",
        "scale_to_zero_enabled": true,
        "state": {
          "deployment": "DEPLOYMENT_CREATING",
          "deployment_state_message": "Creating"
        },
        "creator": "customer@example.com",
        "creation_timestamp": 1666829055000
    }
   ],
   "config_version": 1,
   "traffic_config": {
     "routes": [
       {
         "served_model_name": "ads1-1",
         "traffic_percentage": 100
       }
      ]
   },
   "auto_capture_config": {
     "catalog_name": "ml",
     "schema_name": "ads",
     "table_name_prefix": "feed-ads-prod",
     "state": {
       "payload_table": {
         "name": "feed-ads-prod_payload"
       }
     },
     "enabled": true
   }
  },
  "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "permission_level": "CAN_MANAGE"
}

Miután engedélyezve lett a következtetési táblákba való naplózás, várjon, amíg a végpont készen áll. Ezután elkezdheti meghívni.

A következtetési tábla létrehozása után a sémafejlődést és az adatok hozzáadását a rendszernek kell kezelnie.

A következő műveletek nem befolyásolják a tábla integritását:

  • Az OPTIMIZE, az ANALYZE és a VACUUM futtatása a táblán.
  • Régi nem használt adatok törlése.

Ha nem ad meg egy auto_capture_configbeállítást, a rendszer alapértelmezés szerint az előző konfigurációs verzió beállításkonfigurációját használja újra. Ha például a következtetési táblák már engedélyezve lettek, a következő végpontfrissítés ugyanazokat a beállításokat használja, vagy ha a következtetési táblák le lettek tiltva, akkor továbbra is le lesz tiltva.

{
  "served_entities": [
    {
      "name":"current",
      "entity_name":"model-A",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    }
  ],
  "auto_capture_config": {
    "enabled": false
  }
}

Következtetési táblák engedélyezése meglévő végponton az API használatával

A következtetési táblákat egy meglévő végponton is engedélyezheti az API használatával. Miután a következtetési táblák engedélyezve lettek, folytassa ugyanazt auto_capture_config a törzs megadását a jövőbeli frissítési végponti API-hívásokban a következtetési táblák használatának folytatásához.

Feljegyzés

A tábla helyének módosítása a következtetési táblák engedélyezése után nem támogatott.

PUT /api/2.0/serving-endpoints/{name}/config

{
  "served_entities": [
    {
      "name":"current",
      "entity_name":"model-A",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    },
    {
      "name":"challenger",
      "entity_name":"model-B",
      "entity_version":"1",
      "workload_size":"Small",
      "scale_to_zero_enabled":true
    }
  ],
  "traffic_config":{
    "routes": [
      {
        "served_model_name":"current",
        "traffic_percentage":"50"
      },
      {
        "served_model_name":"challenger",
        "traffic_percentage":"50"
      }
    ]
  },
  "auto_capture_config":{
   "catalog_name": "catalog",
   "schema_name": "schema",
   "table_name_prefix": "my-endpoint"
  }
}

Következtetési táblák letiltása

A következtetési táblák letiltásakor nem kell katalógust, sémát vagy táblaelőtagot megadnia. Az egyetlen kötelező mező a következő enabled: false: .

POST /api/2.0/serving-endpoints

{
  "name": "feed-ads",
  "config":{
    "served_entities": [
      {
       "entity_name": "ads1",
       "entity_version": "1",
       "workload_size": "Small",
       "scale_to_zero_enabled": true
      }
    ],
    "auto_capture_config":{
       "enabled": false
    }
  }
}

A letiltott következtetési táblák újbóli engedélyezéséhez kövesse a következtetési táblák engedélyezése meglévő végpontokon című témakör utasításait. Használhatja ugyanazt a táblát, vagy megadhat egy új táblát.

Következő lépések

A következtetési táblák engedélyezése után a Databricks Lakehouse Monitorozással monitorozhatja a modellvégpont kiszolgált modelljeit. További részletekért lásd : Munkafolyamat: Modell teljesítményének figyelése következtetési táblák használatával.