Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellen Sie, teilen und verwalten Sie Ihre eigenen Modell-APIs (Modelldienste) in Unity Catalog.
Tip
Die vom System bereitgestellten Modell-APIs im Schema system.ai können ohne Einrichtung abgefragt werden. Erstellen Sie Ihre eigene Modell-API nur, wenn Sie zusätzliche Modelle steuern oder einen benutzerdefinierten Endpunkt bereitstellen möchten.
Requirements
- Ein Azure Databricks Workspace in einer von Unity Gateway unterstützten Region.
- Unity-Katalog für Ihren Arbeitsbereich aktiviert. Weitere Informationen finden Sie unter Aktivieren eines Arbeitsbereichs für Unity Catalog.
- Zum Erstellen eines Modelldiensts benötigen Sie Folgendes:
-
USE CATALOG,USE SCHEMAundCREATE SERVICEim Katalog und Schema, in dem Sie den Modelldienst erstellen. -
EXECUTEauf jedem Modell, auf das der Modelldienst als Ziel verweist. -
EXECUTE,USE CATALOGundUSE SCHEMAfür jeden Modellanbieterdienst, auf den der Modelldienst als Ziel verweist. -
USE CATALOG,USE SCHEMAundCREATE TABLEfür den Katalog und das Schema, in denen die Inferenztabelle erstellt wird, wenn Sie die Inferenzprotokollierung aktivieren.
-
Erstellen eines Modelldiensts
Sie können einen Modelldienst in der Unity Gateway UI oder im Catalog Explorer erstellen oder programmatisch mit der REST API, den Azure Databricks SDKs, der Azure Databricks CLI oder Terraform.
Modelldienste und Modellanbieterdienste teilen einen namespace mit einem einzigen Namen innerhalb eines Unity-Katalogschemas. Sie können keinen Namen für einen Modelldienst verwenden, wenn ein Modellanbieterdienst im Schema es bereits verwendet und umgekehrt.
Benutzeroberfläche
- Führen Sie einen der folgenden Schritte aus:
- Klicken Sie in der Arbeitsbereichs-Randleiste auf "AI-Gateway", und klicken Sie dann auf "Erstellen".
- Wechseln Sie im Katalog-Explorer zu dem Schema, in dem Sie den Modelldienst erstellen möchten, und klicken Sie dann auf Erstellen>Dienst>Modelldienst.
- Geben Sie einen Namen für den Modelldienst ein, und wählen Sie den Katalog und das Schema aus, in dem er erstellt werden soll. Wenn Sie mit dem Katalog-Explorer beginnen, füllt der Katalog-Explorer den Katalog und das Schema vor.
- Wählen Sie das Hauptziel aus, das Sie bedienen möchten. Dieses Ziel kann ein von Databricks gehostetes Modell sein, für das Sie
EXECUTEhaben und das von Unity Gateway bereitgestellt werden kann, oder ein Modellanbieterdienst, für den SieUSE CATALOG,USE SCHEMAundEXECUTEhaben. - Klicken Sie auf "Erstellen".
Nachdem Sie den Modelldienst erstellt haben, öffnet Azure Databricks die Übersichtsseite, auf der Sie beginnen oder zusätzliche Features wie die Ableitungsprotokollierung konfigurieren können.
REST API
Senden Sie ein POST an /api/2.1/unity-catalog/model-services, wobei parent und model_service_id als Abfrageparameter übergeben werden. Die Routing-Konfiguration muss mindestens ein Ziel haben:
databricks api post \
"/api/2.1/unity-catalog/model-services?parent=schemas/main.default&model_service_id=my_model_service" \
--json '{
"comment": "Routes chat traffic to a foundation model",
"config": {
"routing": {
"destinations": [
{
"name": "primary",
"destination_type": "DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL",
"pay_per_token_config": { "model": "models/system.ai.databricks-gpt-5" },
"traffic_percentage": 100
}
]
}
}
}'
Befehlszeilenschnittstelle (CLI)
Übergeben Sie das übergeordnete Schema und einen Leaf-Namen und geben Sie die Konfiguration mit --json an. Die Routing-Konfiguration muss mindestens ein Ziel haben. Um die CLI zu installieren, siehe Installieren oder aktualisieren Sie die Databricks-CLI.
databricks ai-gateway create-model-service schemas/main.default my_model_service --json '{
"comment": "Routes chat traffic to a foundation model",
"config": {
"routing": {
"destinations": [
{
"name": "primary",
"destination_type": "DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL",
"pay_per_token_config": { "model": "models/system.ai.databricks-gpt-5" },
"traffic_percentage": 100
}
]
}
}
}'
Terraform
Erstellen und verwalten Sie einen Modelldienst mit dem Databricks Terraform-Anbieter und der databricks_ai_gateway_model_service-Ressource :
resource "databricks_ai_gateway_model_service" "example" {
parent = "schemas/main.default"
model_service_id = "my_model_service"
comment = "Routes chat traffic to a foundation model"
config = {
routing = {
destinations = [{
name = "primary"
destination_type = "DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL"
pay_per_token_config = { model = "models/system.ai.databricks-gpt-5" }
traffic_percentage = 100
}]
}
}
}
Python SDK
Erstellen und verwalten Sie einen Modelldienst mit dem Databricks SDK für Python:
from databricks.sdk.service import catalog as c
model_service = w.ai_gateway.create_model_service(
parent="schemas/main.default",
model_service_id="my_model_service",
model_service=c.ModelService(
comment="Routes chat traffic to a foundation model",
config=c.ModelServiceConfig(
routing=c.ModelServiceConfigRoutingConfig(
destinations=[
c.ModelServiceConfigDestinationConfig(
name="primary",
destination_type=(
c.ModelServiceConfigDestinationConfigDestinationType
.DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL
),
pay_per_token_config=c.ModelServiceConfigPayPerTokenConfig(
model="models/system.ai.databricks-gpt-5"
),
traffic_percentage=100,
)
]
)
),
),
)
Go Software Development Kit (SDK)
Erstellen und verwalten Sie einen Modellservice mit dem Databricks SDK für Go:
modelService, err := w.AiGateway.CreateModelService(ctx, catalog.CreateModelServiceRequest{
Parent: "schemas/main.default",
ModelServiceId: "my_model_service",
ModelService: catalog.ModelService{
Comment: "Routes chat traffic to a foundation model",
Config: &catalog.ModelServiceConfig{
Routing: &catalog.ModelServiceConfigRoutingConfig{
Destinations: []catalog.ModelServiceConfigDestinationConfig{{
Name: "primary",
DestinationType: catalog.ModelServiceConfigDestinationConfigDestinationTypeDestinationTypePayPerTokenFoundationModel,
PayPerTokenConfig: &catalog.ModelServiceConfigPayPerTokenConfig{
Model: "models/system.ai.databricks-gpt-5",
},
TrafficPercentage: 100,
}},
},
},
},
})
Java SDK
Erstellen und verwalten Sie einen Modelldienst mit dem Databricks SDK für Java:
ModelServiceConfig config =
new ModelServiceConfig()
.setRouting(
new ModelServiceConfigRoutingConfig()
.setDestinations(
Collections.singletonList(
new ModelServiceConfigDestinationConfig()
.setName("primary")
.setDestinationType(
ModelServiceConfigDestinationConfigDestinationType
.DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL)
.setPayPerTokenConfig(
new ModelServiceConfigPayPerTokenConfig()
.setModel("models/system.ai.databricks-gpt-5"))
.setTrafficPercentage(100L))));
ModelService modelService =
w.aiGateway()
.createModelService(
new CreateModelServiceRequest()
.setParent("schemas/main.default")
.setModelServiceId("my_model_service")
.setModelService(
new ModelService()
.setComment("Routes chat traffic to a foundation model")
.setConfig(config)));
JS SDK
Erstellen und verwalten Sie einen Modelldienst mit dem Databricks AI Gateway SDK für JavaScript:
import { ModelServiceConfig_DestinationConfig_DestinationType as DestType } from '@databricks/sdk-aigateway/v1';
const created = await client.createModelService({
parent: 'schemas/main.default',
modelServiceId: 'my_model_service',
modelService: {
comment: 'Routes chat traffic to a foundation model',
config: {
routing: {
destinations: [
{
name: 'primary',
destinationType: DestType.DESTINATION_TYPE_PAY_PER_TOKEN_FOUNDATION_MODEL,
typeConfig: {
$case: 'payPerTokenConfig',
payPerTokenConfig: { model: 'models/system.ai.databricks-gpt-5' },
},
trafficPercentage: 100,
},
],
},
},
},
});
Gewähren des Zugriffs auf einen Modelldienst
Standardmäßig kann nur der Inhaber des Modelldienstes diese Abfrage durchführen. Damit andere einen Modellservice abfragen können, gewähren Sie ihnen EXECUTE für ihn sowie USE CATALOG und USE SCHEMA für seinen Katalog und sein Schema. Wenn der Modelldienst in eine Inferenztabelle protokolliert, gewähren Sie SELECT-Berechtigungen für die Tabelle, damit die protokollierten Anfragen und Antworten gelesen werden können.
Benutzeroberfläche
- Öffnen Sie den Modelldienst im Katalogexplorer oder gehen Sie zu AI Gateway und wählen Sie den Dienst aus.
- Wechseln Sie zur Registerkarte Berechtigungen.
- Klicken Sie auf Erlauben.
- Wählen Sie die Benutzer, Gruppen oder Dienstprinzipale aus, um Zugriff zu gewähren.
- Wählen Sie die EXECUTE-Berechtigung aus .
- Klicken Sie auf Erlauben.
REST API
databricks api patch \
"/api/2.1/unity-catalog/permissions/model_service/main.default.my_model_service" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["EXECUTE"] }
]
}'
Befehlszeilenschnittstelle (CLI)
Gewähren Sie EXECUTE mit der Databricks-CLI. Um die CLI zu installieren, siehe Installieren oder aktualisieren Sie die Databricks-CLI.
databricks grants update model_service main.default.my_model_service \
--json '{"changes": [{"principal": "data-team", "add": ["EXECUTE"]}]}'
Terraform
Grant EXECUTE mit dem Databricks Terraform-Anbieter und der databricks_grant Ressource:
resource "databricks_grant" "example" {
model_service = "main.default.my_model_service"
principal = "data-team"
privileges = ["EXECUTE"]
}
Python SDK
Grant EXECUTE mit dem Databricks SDK für Python:
from databricks.sdk.service import catalog as c
w.grants.update(
securable_type="model_service",
full_name="main.default.my_model_service",
changes=[c.PermissionsChange(principal="data-team", add=[c.Privilege.EXECUTE])],
)
Go Software Development Kit (SDK)
Grant EXECUTE mit dem Databricks SDK für Go:
_, err := w.Grants.Update(ctx, catalog.UpdatePermissions{
SecurableType: "model_service",
FullName: "main.default.my_model_service",
Changes: []catalog.PermissionsChange{{
Principal: "data-team",
Add: []catalog.Privilege{catalog.PrivilegeExecute},
}},
})
Java SDK
Grant EXECUTE mit dem Databricks SDK für Java:
w.grants().update(
new UpdatePermissions()
.setSecurableType("model_service")
.setFullName("main.default.my_model_service")
.setChanges(Arrays.asList(
new PermissionsChange().setPrincipal("data-team").setAdd(Arrays.asList(Privilege.EXECUTE)))));
Weitere Informationen zum Gewähren und Entdecken von Zugang finden Sie unter Discover and Govern Access to Model APIs (Model Services).
Konfigurieren von Features in einem Modelldienst
Du konfigurierst Funktionen wie Rate-Limits, Inferenzprotokolle und Schutzmechanismen auf dem Modelldienst über die Unity Gateway-Benutzeroberfläche, genauso wie du sie auf einem Unity Gateway-Endpunkt konfigurierst. Siehe:
- Ratenbegrenzungen auf Modell- und MCP-Dienste anwenden
- Anfragen und Antworten in Inferenztabellen protokollieren
Inferenzprotokollierung
Wenn Sie die Ableitungsprotokollierung aktivieren, erstellt Azure Databricks eine neue, leere Unity-Katalogtabelle mit einem vordefinierten Schema an dem von Ihnen angegebenen Speicherort. Beachten Sie Folgendes:
- Sie müssen über
USE CATALOG,USE SCHEMAundCREATE TABLEfür den Zielkatalog und das Zielschema verfügen. - Der Ersteller des Modelldiensts ist der Besitzer der Rückschlusstabelle. Keine anderen Benutzer haben Zugriff, es sei denn, Sie gewähren sie.
- Wenn an dem angegebenen Speicherort bereits eine Tabelle vorhanden ist, schlägt das Erstellen des Modelldiensts fehl.
- Die Ableitungstabelle verfügt über einen unabhängigen Lebenszyklus vom Modelldienst. Wenn Sie die Tabelle ablegen, funktioniert der Modelldienst weiterhin, aber die Protokollierung wird beendet.
Weitere Informationen zu Inferenztabellen finden Sie unter Log-Anfragen und Antworten auf Inferenztabellen.
Aktualisierung eines Modelldienstes
Sie müssen Eigentümer sein oder über MANAGE verfügen.
Benutzeroberfläche
Bearbeiten Sie die Konfiguration des Modelldienstes über die Unity Gateway UI oder den Catalog Explorer. Änderungen werden direkt übernommen.
REST API
databricks api patch \
"/api/2.1/unity-catalog/model-services/main.default.my_model_service?update_mask=comment" \
--json '{"comment": "Updated: routes chat traffic"}'
Befehlszeilenschnittstelle (CLI)
databricks ai-gateway update-model-service model-services/main.default.my_model_service comment \
--json '{"comment": "Updated: routes chat traffic"}'
Terraform
Bearbeiten Sie databricks_ai_gateway_model_service (oder jedes andere änderbare Feld) in der Ressource comment und wenden Sie sie erneut an. Änderungen werden direkt übernommen.
Python SDK
from databricks.sdk.service import catalog as c
from google.protobuf.field_mask_pb2 import FieldMask
updated = w.ai_gateway.update_model_service(
name="model-services/main.default.my_model_service",
update_mask=FieldMask(paths=["comment"]),
model_service=c.ModelService(comment="Updated: routes chat traffic"),
)
Go Software Development Kit (SDK)
updated, err := w.AiGateway.UpdateModelService(ctx, catalog.UpdateModelServiceRequest{
Name: "model-services/main.default.my_model_service",
UpdateMask: *fieldmask.New([]string{"comment"}),
ModelService: catalog.ModelService{Comment: "Updated: routes chat traffic"},
})
Java SDK
ModelService updated =
w.aiGateway()
.updateModelService(
new UpdateModelServiceRequest()
.setName("model-services/main.default.my_model_service")
.setUpdateMask(FieldMask.newBuilder().addPaths("comment").build())
.setModelService(
new ModelService().setComment("Updated: routes chat traffic")));
JS SDK
import { modelServiceFieldMask } from '@databricks/sdk-aigateway/v1';
const updated = await client.updateModelService({
modelService: {
name: 'model-services/main.default.my_model_service',
comment: 'Updated: routes chat traffic',
},
updateMask: modelServiceFieldMask('comment'),
});
Löschen eines Modelldiensts
Sie müssen Eigentümer sein oder über MANAGE verfügen. Die in system.ai vom System bereitgestellten Modelldienste können nicht gelöscht werden.
Benutzeroberfläche
Öffnen Sie den Modelldienst in der Unity Gateway UI oder im Catalog Explorer und wählen Sie im Kebab-Menü Löschen.
REST API
databricks api delete "/api/2.1/unity-catalog/model-services/main.default.my_model_service"
Befehlszeilenschnittstelle (CLI)
databricks ai-gateway delete-model-service model-services/main.default.my_model_service
Terraform
Führe terraform destroy aus, oder entferne den Ressourcenblock und wende ihn erneut an.
Python SDK
w.ai_gateway.delete_model_service(name="model-services/main.default.my_model_service")
Go Software Development Kit (SDK)
err := w.AiGateway.DeleteModelService(ctx, catalog.DeleteModelServiceRequest{
Name: "model-services/main.default.my_model_service",
})
Java SDK
w.aiGateway()
.deleteModelService(
new DeleteModelServiceRequest().setName("model-services/main.default.my_model_service"));
JS SDK
await client.deleteModelService({ name: 'model-services/main.default.my_model_service' });