Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Ta funkcja jest dostępna w publicznej wersji zapoznawczej.
Ważne
W tym artykule opisano dziedziczone doświadczenie tabeli wnioskowania, które jest istotne tylko dla niektórych zarezerwowanych przepustowości i niestandardowych punktów końcowych modelu. To doświadczenie nie jest zalecane. Databricks zaleca korzystanie z tabel wnioskowania z obsługą przez bramę AI ze względu na ich dostępność dla niestandardowych modeli, modeli bazowych i obsługi punktów końcowych agenta.
W tym artykule wyjaśniono, jak za pomocą interfejsu API usługi Databricks włączyć tabele wnioskowania dla modelu obsługującego punkt końcowy. Aby uzyskać ogólne informacje na temat używania tabel wnioskowania, w tym sposobu włączania ich przy użyciu interfejsu użytkownika usługi Databricks, zobacz Tabele wnioskowania na potrzeby monitorowania i debugowania modeli.
Tabele wnioskowania można włączyć podczas tworzenia nowego punktu końcowego lub w istniejącym punkcie końcowym. Databricks zaleca utworzenie punktu końcowego przy użyciu jednostki usługi, aby tabela wnioskowania nie została naruszona, jeśli użytkownik, który utworzył punkt końcowy, zostanie usunięty z obszaru roboczego.
Właścicielem tabel wnioskowania jest użytkownik, który utworzył punkt końcowy. Wszystkie listy kontroli dostępu (ACL) w tabeli są zgodne ze standardowymi uprawnieniami Unity Catalog i mogą być modyfikowane przez właściciela tabeli.
Wymagania
- Obszar roboczy musi mieć włączony Unity Catalog.
- Zarówno twórca punktu końcowego, jak i modyfikator musi mieć uprawnienie Może zarządzać w punkcie końcowym. Zobacz Listy kontroli dostępu.
- Zarówno twórca punktu końcowego, jak i modyfikator muszą mieć następujące uprawnienia w katalogu Unity.
-
USE CATALOGuprawnienia do określonego katalogu. -
USE SCHEMAuprawnienia do określonego schematu. -
CREATE TABLEuprawnienia w schemacie.
-
Włącz tabele wnioskowania podczas tworzenia punktu końcowego przy użyciu interfejsu API
Tabele wnioskowania dla punktu końcowego można włączyć podczas tworzenia punktu końcowego przy użyciu interfejsu API. Aby uzyskać instrukcje dotyczące tworzenia punktu końcowego, zobacz Tworzenie niestandardowych punktów końcowych obsługujących model.
W interfejsie API treść żądania musi auto_capture_config określać:
- Katalog Unity Catalog: ciąg znaków reprezentujący katalog do przechowywania tabeli.
- Schemat katalogu Unity: ciąg znaków reprezentujący schemat do przechowywania tabeli
- (opcjonalnie) prefiks tabeli: ciąg używany jako prefiks nazwy tabeli wnioskowania. Jeśli nie zostanie określona, zostanie użyta nazwa punktu końcowego.
- (opcjonalnie) włączone: wartość logiczna używana do włączania lub wyłączania tabel wnioskowania. To prawda domyślnie.
Po określeniu katalogu, schematu i opcjonalnie prefiksu tabeli zostanie utworzona w <catalog>.<schema>.<table_prefix>_payload. Ta tabela automatycznie tworzy tabelę zarządzaną przez Unity Catalog. Właścicielem tabeli jest użytkownik, który tworzy punkt końcowy.
Uwaga
Określanie istniejącej tabeli nie jest obsługiwane, ponieważ tabela wnioskowania jest zawsze tworzona automatycznie podczas tworzenia punktu końcowego lub aktualizacji punktu końcowego.
Ostrzeżenie
Tabela wnioskowania może zostać uszkodzona, jeśli wykonasz dowolną z następujących czynności:
- Zmień schemat tabeli.
- Zmień nazwę tabeli.
- Usuń tabelę.
- Utracić uprawnienia do katalogu Unity Catalog lub schematu.
W tym przypadku auto_capture_config stanu punktu końcowego pokazuje stan FAILED dla tabeli ładunku. W takim przypadku należy utworzyć nowy punkt końcowy, aby nadal korzystać z tabel wnioskowania.
W poniższym przykładzie pokazano, jak włączyć tabele wnioskowania podczas tworzenia punktu końcowego.
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"
}
}
}
Odpowiedź wygląda następująco:
{
"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"
}
Po włączeniu rejestrowania w tabelach wnioskowania poczekaj, aż punkt końcowy będzie gotowy. Następnie możesz zacząć go wywoływać.
Po utworzeniu tabeli wnioskowania ewolucja schematu i dodawanie danych powinny być obsługiwane przez system.
Następujące operacje nie mają wpływu na integralność tabeli:
- Uruchamianie OPTIMIZE, ANALYZE i VACUUM względem tabeli.
- Usuwanie starych nieużywanych danych.
Jeśli nie określisz auto_capture_configelementu , domyślnie konfiguracja ustawień z poprzedniej wersji konfiguracji zostanie ponownie użyta. Jeśli na przykład tabele wnioskowania zostały już włączone, te same ustawienia są używane w następnej aktualizacji punktu końcowego lub jeśli tabele wnioskowania zostały wyłączone, to nadal jest wyłączone.
{
"served_entities": [
{
"name": "current",
"entity_name": "model-A",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"auto_capture_config": {
"enabled": false
}
}
Włączanie tabel wnioskowania w istniejącym punkcie końcowym przy użyciu interfejsu API
Tabele wnioskowania można również włączyć w istniejącym punkcie końcowym przy użyciu interfejsu API. Po włączeniu tabel wnioskowania kontynuuj określanie tej samej treści auto_capture_config w przyszłych wywołaniach interfejsu API aktualizacji punktu końcowego, aby kontynuować korzystanie z tabel wnioskowania.
Uwaga
Zmiana lokalizacji tabeli po włączeniu tabel wnioskowania nie jest obsługiwana.
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"
}
}
Wyłączanie tabel wnioskowania
Podczas wyłączania tabel wnioskowania nie trzeba określać katalogu, schematu ani prefiksu tabeli. Jedynym wymaganym polem jest 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
}
}
}
Aby ponownie włączyć wyłączoną tabelę wnioskowania, postępuj zgodnie z instrukcjami w Włączanie tabel wnioskowania w istniejącym punkcie końcowym. Możesz użyć tej samej tabeli lub określić nową tabelę.
Następne kroki
Po włączeniu tabel wnioskowania można monitorować obsługiwane modele w modelu obsługującym punkt końcowy przy użyciu profilowania danych. Aby uzyskać szczegółowe informacje, zobacz Workflow: Monitorowanie wydajności modelu przy użyciu tabel wnioskowania.