Delen via


Deductietabellen inschakelen voor het model dat eindpunten bedient met behulp van de API

Belangrijk

Deze functie bevindt zich in openbare preview.

Belangrijk

Dit artikel beschrijft de ervaring met de verouderde inferentietabel die alleen relevant is voor bepaalde ingerichte doorvoer- en aangepaste modeleindpunten. Deze ervaring wordt niet aanbevolen. Databricks raadt deductietabellen met AI Gateway aan voor de beschikbaarheid ervan op aangepast model, basismodel en agent die eindpunten bedienen.

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 permissies op de opgegeven catalogus.
    • USE SCHEMA machtigingen voor het opgegeven schema.
    • CREATE TABLE permissies 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 van de eindpuntstatus een FAILED-status voor de payloadtabel. 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 logging naar inferenzietabellen is ingeschakeld, wacht u totdat uw endpoint 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:

  • Het uitvoeren van OPTIMIZE, ANALYSEREN en VACUUM op basis van de tabel.
  • Oude ongebruikte gegevens verwijderen.

Als u geen auto_capture_config specificeert, wordt standaard de configuratie-instellingen van de vorige versie 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 inferentietabellen zijn ingeschakeld, blijft u dezelfde auto_capture_config hoofdtekst opgeven in toekomstige API-aanroepen voor eindpunten om de inferentietabellen 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 inferentietabellen hebt ingeschakeld, kunt u de bediende modellen in uw modelbedieningseindpunt monitoren met Databricks Lakehouse Monitoring. Zie Werkstroom: Modelprestaties bewaken met behulp van deductietabellen voor meer informatie.