Deductietabellen inschakelen voor het model dat eindpunten bedient met behulp van de API
Belangrijk
Deze functie is beschikbaar als openbare preview.
In dit artikel wordt uitgelegd hoe u de Databricks-API gebruikt om deductietabellen in te schakelen voor een eindpunt voor het leveren van modellen. Zie Deductietabellen voor bewakings- en foutopsporingsmodellen voor algemene informatie over het gebruik van deductietabellen, waaronder het inschakelen ervan met behulp van de Databricks-gebruikersinterface.
U kunt deductietabellen inschakelen wanneer u een nieuw eindpunt of een bestaand eindpunt maakt. Databricks raadt u aan het eindpunt te maken met een service-principal, zodat de deductietabel niet wordt beïnvloed als de gebruiker die het eindpunt heeft gemaakt, uit de werkruimte wordt verwijderd.
De eigenaar van de deductietabellen is de gebruiker die het eindpunt heeft gemaakt. Alle toegangsbeheerlijsten (ACL's) in de tabel volgen de standaardmachtigingen voor Unity Catalog en kunnen worden gewijzigd door de eigenaar van de tabel.
Eisen
- Voor uw werkruimte moet Unity Catalog zijn ingeschakeld.
- Zowel de maker van het eindpunt als de modifier moet de machtiging Kan beheren hebben voor het eindpunt. Zie Toegangsbeheerlijsten.
- Zowel de maker van het eindpunt als de modifier moet de volgende machtigingen hebben in Unity Catalog:
USE CATALOG
machtigingen voor de opgegeven catalogus.USE SCHEMA
machtigingen voor het opgegeven schema.CREATE TABLE
machtigingen in het schema.
Deductietabellen bij het maken van eindpunten inschakelen met behulp van de API
U kunt deductietabellen inschakelen voor een eindpunt tijdens het maken van het eindpunt met behulp van de API. Zie Aangepast model maken voor eindpunten voor instructies voor het maken van een eindpunt.
In de API moet de aanvraagbody het auto_capture_config
volgende opgeven:
- De Unity Catalog-catalogus: tekenreeks die de catalogus vertegenwoordigt voor het opslaan van de tabel
- Het Unity Catalog-schema: tekenreeks die het schema vertegenwoordigt om de tabel op te slaan
- (optioneel) tabelvoorvoegsel: tekenreeks die wordt gebruikt als voorvoegsel voor de naam van de deductietabel. Als dit niet is opgegeven, wordt de eindpuntnaam gebruikt.
- (optioneel) ingeschakeld: Booleaanse waarde die wordt gebruikt om deductietabellen in of uit te schakelen. Dit geldt standaard.
Nadat u een catalogus, schema en optioneel tabelvoorvoegsel hebt opgegeven, wordt er een tabel gemaakt op <catalog>.<schema>.<table_prefix>_payload
. In deze tabel wordt automatisch een beheerde tabel voor Unity Catalog gemaakt. De eigenaar van de tabel is de gebruiker die het eindpunt maakt.
Notitie
Het opgeven van een bestaande tabel wordt niet ondersteund omdat de deductietabel altijd automatisch wordt gemaakt bij het maken van eindpunten of eindpuntupdates.
Waarschuwing
De deductietabel kan beschadigd raken als u een van de volgende handelingen uitvoert:
- Wijzig het tabelschema.
- Wijzig de tabelnaam.
- Verwijder de tabel.
- Machtigingen voor de Unity Catalog-catalogus of -schema verliezen.
In dit geval toont de auto_capture_config
eindpuntstatus een FAILED
status voor de nettoladingstabel. Als dit gebeurt, moet u een nieuw eindpunt maken om deductietabellen te blijven gebruiken.
In het volgende voorbeeld ziet u hoe u deductietabellen inschakelt tijdens het maken van het eindpunt.
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"
}
}
}
Het antwoord ziet er als volgt uit:
{
"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"
}
Wanneer logboekregistratie naar deductietabellen is ingeschakeld, wacht u totdat uw eindpunt gereed is. Vervolgens kunt u beginnen met het aanroepen.
Nadat u een deductietabel hebt gemaakt, moeten schemaontwikkeling en het toevoegen van gegevens door het systeem worden verwerkt.
De volgende bewerkingen hebben geen invloed op de integriteit van de tabel:
- Optimaliseren, ANALYSEREN en VACUUM uitvoeren op basis van de tabel.
- Oude ongebruikte gegevens verwijderen.
Als u geen auto_capture_config
, standaard de instellingenconfiguratie van de vorige configuratieversie opnieuw gebruikt. Als deductietabellen bijvoorbeeld al zijn ingeschakeld, worden dezelfde instellingen gebruikt voor de volgende eindpuntupdate of als deductietabellen zijn uitgeschakeld, worden deze nog steeds uitgeschakeld.
{
"served_entities": [
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"auto_capture_config": {
"enabled": false
}
}
Deductietabellen inschakelen voor een bestaand eindpunt met behulp van de API
U kunt deductietabellen ook inschakelen op een bestaand eindpunt met behulp van de API. Nadat deductietabellen zijn ingeschakeld, kunt u doorgaan met het opgeven van dezelfde auto_capture_config
hoofdtekst in de API-aanroepen van eindpunten voor toekomstige updates om deductietabellen te blijven gebruiken.
Notitie
Het wijzigen van de tabellocatie nadat het inschakelen van deductietabellen niet wordt ondersteund.
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"
}
}
Deductietabellen uitschakelen
Wanneer u deductietabellen uitschakelt, hoeft u geen catalogus, schema of tabelvoorvoegsel op te geven. Het enige vereiste veld is 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
}
}
}
Als u een uitgeschakelde deductietabel opnieuw wilt inschakelen, volgt u de instructies in Deductietabellen inschakelen op een bestaand eindpunt. U kunt dezelfde tabel gebruiken of een nieuwe tabel opgeven.
Volgende stappen
Nadat u deductietabellen hebt ingeschakeld, kunt u de weergegeven modellen in uw model bewaken met Databricks Lakehouse Monitoring. Zie Werkstroom: Modelprestaties bewaken met behulp van deductietabellen voor meer informatie.