Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um serviço de modelos é um endpoint que traduz e encaminha pedidos de inferência para um ou mais modelos, com divisão de tráfego e mecanismos de recurso. Suporta pedidos em tempo real, além de inferência em lote.
Crie um serviço de modelo personalizado para casos de uso como:
- Um endpoint independente do modelo para uma aplicação. Dê a um assistente de apoio ao cliente um serviço chamado
production.ai.support-assistant. Muda o modelo subjacente sem alterar o nome que a aplicação chama. - Roteamento personalizado e contingências. Use a divisão de tráfego para enviar 10% de tráfego para um novo modelo antes de uma implementação mais ampla, ou configure um destino de backup para pedidos falhados.
- Um orçamento para uma carga de trabalho. Identifique um serviço com
project=support-assistante associe um orçamento mensal a essa etiqueta, com um alerta quando os gastos atingirem 1000 dólares. - Controlos de acesso para uma equipa. Conceder à equipa jurídica e aos seus responsáveis de serviços de aplicação acesso a um
legal-reviewserviço, e utilizar serviços separados para outras equipas. - Limites de taxa para uma carga de trabalho. Configure um serviço de teste para 100 pedidos por minuto e um serviço de produção para 1.000 pedidos por minuto usando limites de taxa de serviço.
- Monitorização e registos separados. Envie os pedidos e respostas de um assistente de suporte para uma tabela de inferência dedicada para que o seu tráfego possa ser inspecionado separadamente do tráfego do agente de codificação.
Para consultar um modelo de fundação servido pelo Azure Databricks sem criar um serviço, use um serviço modelo fornecido pelo sistema em system.ai.
Um serviço pode encaminhar pedidos para modelos disponibilizados pelo Azure Databricks, utilizando pay-per-token ou débito aprovisionado, ou para modelos externos através de um fornecedor de modelos. Pode misturar estes destinos num só serviço.
Os serviços de modelos personalizados são objetos protegíveis do Unity Catalog. Os chamadores invocam-nos pelo seu nome totalmente qualificado, catalog.schema.name, em espaços de trabalho ou fora do Azure Databricks. Ver Governação e privilégios.
Requirements
Note
O Unity Gateway não é suportado no Azure Government.
- Um espaço de trabalho Azure Databricks numa região suportada pelo Unity Gateway.
- Unity Catalog ativado para o seu espaço de trabalho. Consulte Habilitar um espaço de trabalho para o Unity Catalog.
- Para criar um serviço modelo, deve ter:
-
USE CATALOG,USE SCHEMAeCREATE SERVICEno catálogo e no esquema onde cria o serviço de modelo. -
EXECUTEem cada modelo que o serviço de modelos referencia como destino. -
EXECUTE,USE CATALOG, eUSE SCHEMAem cada fornecedor de modelos que o serviço de modelos tem como destino. -
USE CATALOG,USE SCHEMAeCREATE TABLEno catálogo e no esquema onde a tabela de inferência é criada, caso ative o registo de inferência.
-
Criar um serviço personalizado de modelos
Crie um serviço modelo na interface do Unity Gateway ou no Explorador de Catálogos. Para criar uma programáticamente, use a API REST, os SDKs do Azure Databricks, a CLI do Azure Databricks, o Terraform ou os Pacotes de Automação Declarativa (DABs).
Os serviços de modelo e os fornecedores de modelos partilham um único espaço de nomes dentro de um esquema de Catálogo Unity. Não podes usar um nome para um serviço modelo se um fornecedor de modelos no esquema já o usar, e vice-versa.
IU
- Proceda de uma das seguintes formas:
- Na barra lateral do espaço de trabalho, clique em AI Gateway e depois em Criar.
- No Catalog Explorer, vá para o esquema onde pretende criar o serviço de modelo e, em seguida, clique em Criar>Serviço>Serviço de modelo.
- Introduza um nome para o serviço de modelo e selecione o catálogo e o esquema para o criar. Se começares pelo Explorador de Catálogos, o Explorador de Catálogos prepreenche o catálogo e o esquema.
- Selecione o destino principal a servir. Este destino pode ser um modelo disponibilizado pelo Azure Databricks que tem
EXECUTEativado e que o Unity Gateway consegue disponibilizar, ou um fornecedor de modelos em que temEXECUTE,USE CATALOGeUSE SCHEMA. - Clique em Criar.
Depois de criar o serviço de modelo, o Azure Databricks abre a sua página de visão geral, onde pode começar ou configurar funcionalidades adicionais, como registo de inferências.
API REST
Enviar um POST para /api/2.1/unity-catalog/model-services, passando parent e model_service_id como parâmetros de consulta. A configuração de roteamento deve ter pelo menos um destino:
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
Passe o esquema principal e o nome de uma folha, e forneça a configuração com --json. A configuração de encaminhamento deve ter pelo menos um destino. Para instalar a linha de código, consulte Instalar ou atualizar a CLI de Databricks.
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
Crie e gere um serviço modelo com o fornecedor Databricks Terraform e o recurso databricks_ai_gateway_model_service :
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)
Defina o serviço modelo num bundle e implemente-o com databricks bundle deploy. A configuração de roteamento deve ter pelo menos um destino:
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
Criar e gerir um serviço de modelo com o SDK Databricks para 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,
)
]
)
),
),
)
Kit de Desenvolvimento de Software Go
Crie e gere um serviço modelo com o SDK Databricks para 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
Crie e gira um serviço de modelo com o Databricks AI Gateway SDK for Go. Campos opcionais são ponteiros, por isso o exemplo usa uma função auxiliar de uma linha, 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"),
},
},
}},
},
},
},
})
SDK de Java
Crie e gere um serviço modelo com o SDK Databricks para 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
Crie e gere um serviço modelo com o Databricks AI Gateway SDK para 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,
},
],
},
},
},
});
Conceder acesso a um serviço modelo
Por defeito, só o proprietário do serviço modelo pode consultá-lo. Para permitir que outros consultem um serviço de modelo, conceda-lhes EXECUTE sobre ele, bem como USE CATALOG e USE SCHEMA no respetivo catálogo e esquema. Se o serviço de modelo registar dados numa tabela de inferência, conceda SELECT na tabela para lhes permitir ler os pedidos e as respostas registados.
IU
- Abra o serviço de modelo no Explorador de Catálogos, ou vá ao AI Gateway e selecione o serviço.
- Vá para a guia Permissões .
- Clique em Conceder.
- Selecione os utilizadores, grupos ou identidades de serviço a quem pretende conceder acesso.
- Selecione o privilégio EXECUTE.
- Clique em Conceder.
API REST
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 com a linha de comando do Databricks. Para instalar a linha de código, consulte Instalar ou atualizar a CLI de Databricks.
databricks grants update model_service main.default.my_model_service \
--json '{"changes": [{"principal": "data-team", "add": ["EXECUTE"]}]}'
Terraform
Subvenção EXECUTE com o fornecedor Databricks Terraform e o databricks_grant recurso:
resource "databricks_grant" "example" {
model_service = "main.default.my_model_service"
principal = "data-team"
privileges = ["EXECUTE"]
}
DABs (Beta)
Adiciona um grants bloco ao recurso de serviço modelo no teu bundle e reimplementa para conceder acesso.
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
Subvenção EXECUTE com o SDK Databricks para 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])],
)
Kit de Desenvolvimento de Software Go
Grant EXECUTE com o SDK Databricks para 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},
}},
})
SDK de Java
Grant EXECUTE com o SDK Databricks para 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)))));
Consulte Descobrir e regular o acesso a serviços modelo para mais informações sobre conceder e descobrir acesso.
Configurar funcionalidades num serviço modelo
Configure limites de taxa, registo de inferência e guardrails implementados com políticas de serviço no serviço modelo a partir da interface do Unity Gateway. See:
- Aplicar limites de taxa aos serviços modelo e MCP
- Pedidos de registo e respostas às tabelas de inferência
Registo de inferência
Quando ativas o registo de inferências, o Azure Databricks cria uma nova tabela vazia do Unity Catalog com um esquema pré-definido no local que especificas. Tenha em atenção o seguinte::
- Tem de ter
USE CATALOG,USE SCHEMAeCREATE TABLEno catálogo e no esquema de destino. - O criador do serviço modelo é o proprietário da tabela de inferência. Nenhum outro utilizador tem acesso a menos que o concedas.
- Se uma tabela já existir na localização especificada, a criação do serviço modelo falha.
- A tabela de inferência tem um ciclo de vida independente do serviço modelo. Se eliminares a tabela, o serviço do modelo continua a funcionar, mas deixa de registar.
Para mais informações sobre tabelas de inferência, veja Pedidos de registo e respostas a tabelas de inferência.
Atualizar um serviço modelo
Tem de ser proprietário/a ou ter MANAGE.
IU
Editar a configuração do serviço de modelos a partir da interface do Unity Gateway ou do Explorador de Catálogos. As alterações são aplicadas no local.
API REST
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
Edita comment (ou qualquer outro campo mutável) no databricks_ai_gateway_model_service recurso e volta a aplicar. As alterações são aplicadas no local.
DABs (Beta)
Edite comment (ou qualquer outro campo mutável) no recurso bundle e execute databricks bundle deploy. As alterações são aplicadas no local.
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"),
)
Kit de Desenvolvimento de Software Go
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,
})
SDK de Java
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'),
});
Eliminar um serviço modelo
Tem de ser proprietário/a ou ter MANAGE. Os serviços modelo fornecidos pelo sistema em system.ai não podem ser eliminados.
IU
Abra o serviço de modelos na interface do Unity Gateway ou no Explorador de Catálogos e selecione Eliminar no menu kebab.
API REST
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
Executa terraform destroy, ou remove o bloco de recurso e volta a aplicar.
DABs (Beta)
Remova o recurso do pacote e execute databricks bundle deploy para o eliminar.
databricks bundle destroy Também funciona, mas remove todos os recursos que o pacote gere, não apenas este.
Python SDK
w.ai_gateway.delete_model_service(name="model-services/main.default.my_model_service")
Kit de Desenvolvimento de Software Go
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"),
})
SDK de Java
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' });
Governação e privilégios
Como objeto seguro pelo Unity Catalog, um serviço modelo:
- Vive num catálogo e esquema, onde herda definições de esquema, como ligações de espaço de trabalho.
- Transporta metadados padrão do Unity Catalog, como nome, proprietário, comentário e etiquetas.
-
É regido pelos privilégios do Unity Catalog, por isso concede acesso usando as
GRANTREVOKEmesmas instruções que usa para tabelas, funções e modelos. - Pode ser descoberto no Explorador de Catálogos, juntamente com o resto dos teus ativos do Catálogo Unity.
Aplicam-se os seguintes privilégios:
| Privilégio | Description |
|---|---|
USE CATALOG, USE SCHEMA |
Aceda ao catálogo e ao esquema que contêm o serviço de modelo. Obrigatório para todas as operações. |
CREATE SERVICE |
Crie serviços de modelo num esquema. Concedido no catálogo ou esquema. |
EXECUTE |
Consulta a um serviço modelo. |
MANAGE |
Modificar ou eliminar um serviço modelo e gerir as suas subvenções. O proprietário tem um superconjunto de MANAGE. |
Os serviços modelo utilizam os privilégios do definidor. O Azure Databricks avalia uma consulta com base nos privilégios do proprietário em vez dos do chamador. Quando um utilizador consulta um serviço modelo, o Azure Databricks verifica se o proprietário tem EXECUTE acesso aos destinos referenciados, como os modelos subjacentes e quaisquer fornecedores de modelos. O interlocutor não precisa de acesso direto a esses destinos.
Limitações
As seguintes capacidades não são suportadas:
- Criar e gerir serviços de modelo com SQL.
- Descobrir serviços do modelo apenas com o privilégio
BROWSE. - Pesquisa global por serviços modelo.