Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een modelservice is een eindpunt dat inferentieverzoeken vertaalt en doorstuurt naar een of meer modellen, met verkeerssplitsing en fallbacks. Het ondersteunt realtime verzoeken, plus batchinferentie.
Maak een aangepaste modelservice voor gebruikssituaties zoals:
- Een model-onafhankelijk eindpunt voor een applicatie. Geef een klantenservicemedewerker een dienst genaamd
production.ai.support-assistant. Wijzig het onderliggende model zonder de naam te wijzigen die de applicatie aanroept. - Aangepaste routing en terugvalopties. Gebruik verkeerssplitsing om 10% verkeer naar een nieuw model te sturen vóór een bredere uitrol, of configureer een back-up bestemming voor mislukte verzoeken.
- Een budget voor één workload. Tag een dienst met
project=support-assistanten koppel een maandbudget aan die tag, met een waarschuwing bij $1.000 aan uitgaven. - Toegangscontroles voor een team. Geef het juridische team en de hoofdverantwoordelijken van de applicatiedienst toegang tot een
legal-reviewdienst en gebruik aparte diensten voor andere teams. - Tarieflimieten voor een werkdruk. Configureer een testdienst voor 100 verzoeken per minuut en een productiedienst voor 1.000 verzoeken per minuut met servicesnelheidslimieten.
- Aparte monitoring en logboeken. Stuur de verzoeken en antwoorden van een supportassistent naar een speciale inferentietabel zodat het verkeer afzonderlijk van het coderingsagentverkeer kan worden geïnspecteerd.
Om een Azure Databricks-bediend foundation-model te bevragen zonder een service aan te maken, gebruik je een systeem-geleverd modelservice in system.ai.
Een dienst kan worden doorgestuurd naar Azure Databricks-bediende modellen, met pay-per-token of provisioned throughput, of naar externe modellen via een modelprovider. Je kunt deze bestemmingen in één dienst mengen.
Aangepaste modelservices zijn beveiligbare objecten in Unity Catalog. Aanroepers roepen deze aan met hun volledig gekwalificeerde naam, catalog.schema.name, in verschillende werkruimten of buiten Azure Databricks. Zie Bestuur en privileges.
Requirements
Note
Unity Gateway wordt niet ondersteund op Azure Government.
- Een Azure Databricks werkruimte in een door Unity Gateway ondersteunde regio.
- Unity Catalog ingeschakeld voor uw werkruimte. Zie Een werkruimte inschakelen voor Unity Catalog.
- Als u een modelservice wilt maken, moet u het volgende hebben:
-
USE CATALOG,USE SCHEMAenCREATE SERVICEin de catalogus en het schema waar u de modelservice maakt. -
EXECUTEop elk model waarnaar de modelservice verwijst als een bestemming. -
EXECUTE,USE CATALOG, enUSE SCHEMAop elke modelprovider waarnaar de modeldienst als bestemming verwijst. -
USE CATALOG,USE SCHEMAenCREATE TABLEop de catalogus en het schema waarin de inferentietabel wordt gemaakt, als u inferentielogboekregistratie inschakelt.
-
Maak een aangepaste modelservice aan
Maak een modelservice aan in de Unity Gateway UI of Catalog Explorer. Om er een programmatisch te maken, gebruik je de REST API, de Azure Databricks SDK's, de Azure Databricks CLI, Terraform of Declarative Automation Bundles (DABs).
Modelservices en modelproviders delen één naamruimte binnen een Unity Catalog-schema. Je kunt geen naam gebruiken voor een modeldienst als een modelprovider in het schema die al gebruikt, en andersom.
UI (Gebruikersinterface)
- Ga op een van de volgende manieren te werk:
- Klik in de zijbalk van de werkruimte op AI Gateway en klik vervolgens op Maken.
- Ga in Catalog Explorer naar het schema waarin u de modelservice wilt maken en klik vervolgensop >Servicemodel>maken.
- Voer een naam in voor de modelservice en selecteer de catalogus en het schema waarin u deze wilt maken. Als u begint met Catalog Explorer, vult Catalog Explorer de catalogus en het schema vooraf in.
- Selecteer de primaire bestemming om te bedienen. Deze bestemming kan een door Azure Databricks aangeboden model zijn waarvoor je
EXECUTEhebt en dat Unity Gateway kan aanbieden, of een modelprovider waarvoor jeEXECUTE,USE CATALOGenUSE SCHEMAhebt. - Klik op Create.
Nadat u de modelservice hebt gemaakt, opent Azure Databricks de overzichtspagina, waar u aan de slag kunt gaan of aanvullende functies kunt configureren, zoals deductielogboekregistratie.
REST API
Stuur een POST naar /api/2.1/unity-catalog/model-services, waarbij model_service_id en parent als queryparameters worden doorgegeven. De routeringsconfiguratie moet minstens één bestemming hebben:
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
}
]
}
}
}'
CLI
Geef het bovenliggende schema en een leaf-naam door, en specificeer de configuratie met --json. De routeringsconfiguratie moet minstens één bestemming hebben. Om de CLI te installeren, zie Installeren of bijwerken de 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
Maak en beheer een modelservice met de Databricks Terraform-provider en de databricks_ai_gateway_model_service resource:
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
}]
}
}
}
DABs (Beta)
Definieer de modelservice in een bundel en deploy deze met databricks bundle deploy. De routeringsconfiguratie moet minstens één bestemming hebben:
resources:
model_services:
my_model_service:
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
Maak en beheer een modelservice met de Databricks SDK voor 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 Softwareontwikkelingskit
Maak en beheer een modelservice met de Databricks SDK voor 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,
}},
},
},
},
})
Go Modular SDK
Creëer en beheer een modelservice met de Databricks AI Gateway SDK voor Go. Optionele velden zijn pointers, dus het voorbeeld gebruikt een eenregelige helper, func ptr[T any](v T) *T { return &v }.
modelService, err := c.CreateModelService(ctx, aigateway.CreateModelServiceRequest{
Parent: ptr("schemas/main.default"),
ModelServiceId: ptr("my_model_service"),
ModelService: &aigateway.ModelService{
Comment: ptr("Routes chat traffic to a foundation model"),
Config: &aigateway.ModelServiceConfig{
Routing: &aigateway.ModelServiceConfig_RoutingConfig{
Destinations: []aigateway.ModelServiceConfig_DestinationConfig{{
Name: ptr("primary"),
DestinationType: aigateway.ModelServiceConfig_DestinationConfig_DestinationType_DestinationTypePayPerTokenFoundationModel,
TrafficPercentage: ptr(100),
TypeConfig: &aigateway.ModelServiceConfig_DestinationConfig_TypeConfig_PayPerTokenConfig{
PayPerTokenConfig: aigateway.ModelServiceConfig_PayPerTokenConfig{
Model: ptr("models/system.ai.databricks-gpt-5"),
},
},
}},
},
},
},
})
Java SDK
Maak en beheer een modelservice met de Databricks SDK voor 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 Modular SDK
Maak en beheer een modelservice met de Databricks AI Gateway SDK voor 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,
},
],
},
},
},
});
Toegang verlenen tot een modeldienst
Standaard kan alleen de eigenaar van de modelservice het opzoeken. Om anderen een modelservice te laten bevragen, verleent u hun USE CATALOG op die service, plus USE SCHEMA en EXECUTE op de catalogus en het schema ervan. Als de modelservice naar een inferentietabel logt, verleen dan SELECT op de tabel zodat de gelogde verzoeken en antwoorden kunnen worden gelezen.
UI (Gebruikersinterface)
- Open de modelservice in Catalog Explorer, of ga naar AI Gateway en selecteer de service.
- Ga naar het tabblad Machtigingen .
- Klik op Toestaan.
- Selecteer de gebruikers, groepen of service-principals om toegang te verlenen.
- Selecteer de execute-bevoegdheid .
- Klik op Toestaan.
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"] }
]
}'
CLI
Grant EXECUTE met de Databricks CLI. Om de CLI te installeren, zie Installeren of bijwerken de Databricks CLI.
databricks grants update model_service main.default.my_model_service \
--json '{"changes": [{"principal": "data-team", "add": ["EXECUTE"]}]}'
Terraform
Geef een subsidie EXECUTE met de Databricks Terraform-provider en de databricks_grant bron:
resource "databricks_grant" "example" {
model_service = "main.default.my_model_service"
principal = "data-team"
privileges = ["EXECUTE"]
}
DABs (Beta)
Voeg een grants blok toe aan de modelserviceresource in je bundel en deploy opnieuw om toegang te verlenen.
resources:
model_services:
my_model_service:
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
grants:
- principal: data-team
privileges: [EXECUTE]
Python SDK
Toegang verlenen EXECUTE met de Databricks SDK voor 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 Softwareontwikkelingskit
Grant EXECUTE met de Databricks SDK voor 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 met de Databricks SDK voor 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)))));
Zie Modelservices vinden en de toegang ertoe beheren voor meer informatie over het verlenen van en vinden van toegang.
Configureer functies op een modelservice
Configureer snelheidsbeperkingen, inferentielogging en guardrails die met servicebeleidsregels op de modelservice zijn geïmplementeerd, vanuit de Unity Gateway-UI. See:
- Toepassing van snelheidslimieten op model- en MCP-diensten
- Logverzoeken en reacties op inferentietabellen
Logboekregistratie voor inferentie
Wanneer u deductielogboekregistratie inschakelt, maakt Azure Databricks een nieuwe, lege Unity Catalog-tabel met een vooraf gedefinieerd schema op de locatie die u opgeeft. Houd rekening met het volgende:
- U moet
USE CATALOG,USE SCHEMAenCREATE TABLEhebben op de doelcatalogus en het schema. - De maker van de modelservice is de eigenaar van de inferentietabel. Geen andere gebruikers hebben toegang, tenzij u deze verleent.
- Als er al een tabel bestaat op de opgegeven locatie, mislukt het maken van de modelservice.
- De inferentietabel heeft een levenscyclus die onafhankelijk is van de modelservice. Als u de tabel verwijdert, blijft de modelservice werken, maar stopt deze met loggen.
Voor meer informatie over inferentietabellen, zie Logverzoeken en antwoorden op inferentietabellen.
Werk een modelservice bij
Je moet eigenaar zijn of over MANAGE beschikken.
UI (Gebruikersinterface)
Bewerk de configuratie van de modelservice vanuit de Unity Gateway UI of Catalog Explorer. Wijzigingen worden direct toegepast.
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"}'
CLI
databricks ai-gateway update-model-service model-services/main.default.my_model_service comment \
--json '{"comment": "Updated: routes chat traffic"}'
Terraform
Bewerk comment (of een ander veranderbaar veld) op de databricks_ai_gateway_model_service bron en breng opnieuw aan. Wijzigingen worden direct toegepast.
DABs (Beta)
Bewerk comment (of een ander veranderbaar veld) in de bundelresource en voer databricks bundle deploy. Wijzigingen worden direct toegepast.
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 Softwareontwikkelingskit
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"},
})
Go Modular SDK
mask, err := types.NewFieldMask[aigateway.ModelService]("comment")
updated, err := c.UpdateModelService(ctx, aigateway.UpdateModelServiceRequest{
ModelService: &aigateway.ModelService{
Name: ptr("model-services/main.default.my_model_service"),
Comment: ptr("Updated: routes chat traffic"),
},
UpdateMask: mask,
})
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 Modular 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'),
});
Verwijder een modelservice
Je moet eigenaar zijn of over MANAGE beschikken. Door het systeem aangeboden modelservices in system.ai kunnen niet worden verwijderd.
UI (Gebruikersinterface)
Open de modelservice in de Unity Gateway UI of Catalog Explorer en selecteer Verwijderen in het kebabmenu.
REST API
databricks api delete "/api/2.1/unity-catalog/model-services/main.default.my_model_service"
CLI
databricks ai-gateway delete-model-service model-services/main.default.my_model_service
Terraform
Voer terraform destroyuit, of verwijder het resource block en breng het opnieuw toe.
DABs (Beta)
Verwijder de bron uit de bundel en voer databricks bundle deploy uit om hem te verwijderen.
databricks bundle destroy werkt ook, maar het verwijdert alle bronnen die de bundel beheert, niet alleen deze.
Python SDK
w.ai_gateway.delete_model_service(name="model-services/main.default.my_model_service")
Go Softwareontwikkelingskit
err := w.AiGateway.DeleteModelService(ctx, catalog.DeleteModelServiceRequest{
Name: "model-services/main.default.my_model_service",
})
Go Modular SDK
err := c.DeleteModelService(ctx, aigateway.DeleteModelServiceRequest{
Name: ptr("model-services/main.default.my_model_service"),
})
Java SDK
w.aiGateway()
.deleteModelService(
new DeleteModelServiceRequest().setName("model-services/main.default.my_model_service"));
JS Modular SDK
await client.deleteModelService({ name: 'model-services/main.default.my_model_service' });
Bestuur en privileges
Als beveiligbaar object in Unity Catalog heeft een modelservice de volgende eigenschappen:
- Woont in een catalogus en schema, waar schema-instellingen, zoals werkruimtebindingen, worden overgenomen.
- Bevat standaard metagegevens van Unity Catalog, zoals naam, eigenaar, opmerking en tags.
-
Wordt beheerd door Unity Catalog-bevoegdheden, zodat u toegang verleent met behulp van dezelfde
GRANTenREVOKEinstructies die u gebruikt voor tabellen, functies en modellen. - Kan worden gedetecteerd in Catalog Explorer, naast de rest van uw Unity Catalog-assets.
De volgende bevoegdheden zijn van toepassing:
| Voorrecht | Beschrijving |
|---|---|
USE CATALOG, USE SCHEMA |
Open de catalogus en het schema die de modelservice bevatten. Vereist voor alle bewerkingen. |
CREATE SERVICE |
Modelservices maken in een schema. Verleend op de catalogus of het schema. |
EXECUTE |
Een query uitvoeren op een modelservice. |
MANAGE |
Een modelservice wijzigen of verwijderen en de bijbehorende subsidies beheren. De eigenaar heeft een superset van MANAGE. |
Modelservices gebruiken de privileges van definer. Azure Databricks beoordeelt een query op basis van de rechten van de eigenaar in plaats van die van de aanroeper. Wanneer een gebruiker een query uitvoert op een modelservice, controleert Azure Databricks of de eigenaar op de bestemmingen waarnaar wordt verwezen EXECUTE heeft, zoals de onderliggende modellen en eventuele modelaanbieders. De beller heeft geen directe toegang tot die bestemmingen nodig.
Limitations
De volgende mogelijkheden worden niet ondersteund:
- Het creëren en beheren van modelservices met SQL.
- Modelservices detecteren met alleen de
BROWSEbevoegdheid. - Wereldwijde zoektocht naar modeldiensten.