Adicionar um recurso de serviço de modelo Unity Gateway a uma aplicação Databricks

Importante

Este recurso está no Public Preview.

Adicione serviços de modelos Unity Gateway como recursos de Databricks Apps para que a sua aplicação possa enviar pedidos de inferência, incluindo chat, completions e embeddings, para modelos de IA governados no Unity Catalog. Os serviços modelo Unity Gateway incluem modelos de fundação pay-per-token disponíveis em system.ai, bem como serviços de modelo que cria.

Note

A atribuição de utilização para serviços de modelo Unity Gateway é precisa apenas para Apps Databricks padrão. As aplicações que correm num ambiente micro VM, como as aplicações do criador de aplicações Genie, não reportam atribuição de utilização precisa.

Ver rastreio de utilização do Unity Gateway.

Requisitos de privilégio

Para aceder a um serviço modelo Unity Gateway, o principal de serviço da aplicação deve ter o USE CATALOG privilégio no catálogo pai, o USE SCHEMA privilégio no esquema pai e o EXECUTE privilégio no serviço modelo. Quando adiciona o recurso do serviço de modelo, o Azure Databricks concede automaticamente estes privilégios ao principal de serviço da aplicação.

Para que essa concessão automática seja bem-sucedida, uma das seguintes opções deve ser verdadeira para cada privilégio:

  • Para USE CATALOG: Todos os usuários da conta têm o USE CATALOG privilégio no catálogo ou você tem o MANAGE privilégio no catálogo.
  • Para USE SCHEMA: Todos os usuários da conta têm o USE SCHEMA privilégio no esquema ou você tem o MANAGE privilégio no esquema.
  • Para EXECUTE: Ou todos os utilizadores da conta têm privilégio EXECUTE no serviço de modelo, ou você tem o MANAGE privilégio no serviço de modelo.

Consulte a referência de privilégios do Unity Catalog.

Adicionar um recurso do serviço de modelo do Unity Gateway

Antes de adicionar um serviço de modelo do Unity Gateway como recurso, reveja os pré-requisitos de recursos da aplicação.

  1. Na secção de recursos da App, ao criar ou editar uma app, clique em + Adicionar recurso>Modelo.
  2. No seletor de recursos, selecione um serviço modelo da secção Unity Gateway . O seletor também lista endpoints de serviço personalizados numa secção de Endpoints de Serviço . Para ligar um destes endpoints, veja Adicionar um recurso de endpoint de disponibilização de modelo a uma aplicação Databricks. Para usar um modelo fundacional pay-per-token, selecione um serviço de modelo do catálogo system.ai.
  3. Selecione o nível de permissão para seu aplicativo:
    • Pode executar: Concede ao principal de serviço da aplicação o EXECUTE privilégio de enviar pedidos de inferência para o serviço de modelo. Este é o único nível de permissão disponível para um serviço de modelo.
  4. (Opcional) Especifique uma chave de recurso personalizada, que é a forma como referencia o serviço de modelo na configuração da sua aplicação. A chave padrão é model.

Configurar com Databricks Asset Bundles

Se definir a sua aplicação usando Pacotes de Automação Declarativa, adicione o serviço modelo como um uc_securable recurso na configuração do seu pacote:

resources:
  apps:
    my_app:
      name: 'my-app'
      source_code_path: ./app
      resources:
        - name: 'model'
          uc_securable:
            securable_full_name: '<catalog>.<schema>.<model_service>'
            securable_type: 'MODEL_SERVICE'
            permission: 'EXECUTE'

Para informações sobre recursos de aplicações nos Bundles de Automação Declarativa, consulte app.resources.

Variáveis de ambiente

Quando implementa uma aplicação com um recurso de serviço de modelo Unity Gateway, o Azure Databricks expõe o nome completo em três partes do serviço de modelo no Unity Catalog através de variáveis de ambiente que pode referenciar usando o elemento valueFrom.

Configuração de exemplo:

env:
  - name: MODEL_SERVICE_NAME
    valueFrom: model # Use your custom resource key if you set one

O campo valueFrom resolve para o nome completo em três partes do Unity Catalog do serviço de modelo (por exemplo, system.ai.databricks-dbrx-instruct). Use este nome ao chamar o serviço de modelos através do Azure Databricks SDK ou da API REST do Unity Gateway.

Para obter mais informações, consulte Usar variáveis de ambiente para acessar recursos.

Remover um recurso do serviço de modelo Unity Gateway

Quando remove um recurso de serviço modelo Unity Gateway de uma aplicação, o principal de serviço da aplicação perde o EXECUTE privilégio sobre o serviço modelo. O serviço modelo em si mantém-se inalterado e continua disponível para outros utilizadores e aplicações que tenham as permissões apropriadas.

Melhores práticas

Considere o seguinte ao trabalhar com recursos de serviço do modelo Unity Gateway:

  • EXECUTE é o único nível de permissão disponível. Concede à aplicação acesso para enviar pedidos de inferência e não concede privilégios administrativos ao serviço modelo.
  • Para usar modelos fundacionais pay-per-token sem configuração adicional, selecione um serviço de modelo do catálogo system.ai.
  • A variável de ambiente resolve para o nome completo de três partes do Catálogo Unity (catalog.schema.model_service). Use este valor ao chamar o serviço de modelos através do Azure Databricks SDK ou da API REST.
  • Trate dos erros de inferência e da limitação de taxa no código da sua aplicação. O Unity Gateway impõe os limites de taxa e as proteções configuradas em cada serviço de modelo.
  • O seletor de recursos Model também lista os endpoints clássicos de serviço de modelos, agrupados numa secção de Endpoints de Serviço . Os serviços de modelo e os endpoints de serving podem coexistir na mesma aplicação.