Compartilhar via


Configurar o AI Gateway em pontos de extremidade de serviço do modelo

Neste artigo, você aprenderá a configurar o Mosaic AI Gateway em um ponto de extremidade de serviço de modelo.

Requisitos

Configurar o AI Gateway usando a IU

Esta seção mostra como configurar o AI Gateway durante a criação do endpoint usando a IU de veiculação.

Se você preferir fazer isso programaticamente, consulte o exemplo do Notebook.

Na seção AI Gateway da página de criação do ponto de extremidade, você pode configurar individualmente os seguintes recursos do AI Gateway:

Recurso Como habilitar Detalhes
Acompanhamento de uso Selecione Habilitar acompanhamento de uso para habilitar o acompanhamento e o monitoramento de métricas de uso de dados. - É preciso habilitar o Catálogo do Unity.
- Os administradores de conta devem habilitar o esquema de tabela do sistema de serviço antes de usar as tabelas do sistema: system.serving.endpoint_usage que captura contagens de tokens para cada solicitação ao ponto de extremidade e system.serving.served_entities que armazena metadados para cada modelo externo.
- Consulte Esquemas de tabela de acompanhamento de uso
- Somente os administradores de conta têm permissão para visualizar ou consultar a tabela served_entities ou endpoint_usage, embora o usuário que gerencia o ponto de extremidade deva habilitar o rastreamento de uso. Consulte Conceder acesso às tabelas do sistema
- A contagem de tokens de entrada e saída é estimada como (text_length+1)/4 se a contagem de tokens não for retornada pelo modelo.
Registro em log do payload Selecione Habilitar tabelas de inferência para registrar em log automaticamente solicitações e respostas do seu ponto de extremidade em tabelas Delta gerenciadas pelo Catálogo do Unity. - Você deve ter o Catálogo do Unity habilitado e acesso CREATE_TABLE ao esquema de catálogo especificado.
- As tabelas de inferência ativadas pelo AI Gateway têm um esquema diferente das tabelas de inferência criadas para endpoints de serviço de modelo que atendem a modelos personalizados. Consulte Esquema de tabela de inferência ativado pelo AI Gateway.
- Os dados de log de payload preenchem essas tabelas menos de uma hora após a consulta do ponto de extremidade.
- Payloads maiores que 1 MB não são registradas em log.
- O payload da resposta agrega a resposta de todas as partes retornadas.
- Há suporte para streaming. Em cenários de streaming, o payload de resposta agrega a resposta das partes retornadas.
AI Guardrails Consulte Configurar AI Guardrails na interface do usuário. - Os verificadores de integridade impedem que o modelo interaja com conteúdo inseguro e prejudicial detectado nas entradas e saídas do modelo.
- Os verificadores de integridade de saída não são compatíveis com os modelos de incorporação ou para streaming.
Limitações de fluxo Você pode impor limitações de fluxo de solicitação para gerenciar o tráfego do seu ponto de extremidade por usuário e por ponto de extremidade - As limitações de fluxo são definidas em consultas por minuto (QPM).
- O padrão é Sem limite para ambos, por usuário e por ponto de extremidade.
Roteamento de tráfego Para configurar o roteamento de tráfego em seu ponto de extremidade, consulte Fornecer vários modelos externos a um ponto de extremidade.

Configurar recursos do AI Gateway

Configurar AI Guardrails na interface do usuário

A tabela a seguir mostra como configurar verificadores de integridade suportados.

Verificador de integridade Como habilitar Detalhes
Segurança Selecione Segurança para habilitar proteções para impedir que seu modelo interaja com conteúdo inseguro e prejudicial.
Detecção de PIIs (informações de identificação pessoal) Selecione Detecção de PII para detectar dados de PII, como nomes, endereços e números de cartão de crédito.
Tópicos válidos Você pode digitar tópicos diretamente nesse campo. Se você tiver várias entradas, pressione Enter após cada tópico. Como alternativa, você pode fazer upload de um arquivo .csv ou .txt. É possível especificar um máximo de 50 tópicos válidos. Cada tópico não poderá exceder 100 caracteres
Palavras-chave inválidas Você pode digitar tópicos diretamente nesse campo. Se você tiver várias entradas, pressione Enter após cada tópico. Como alternativa, você pode fazer upload de um arquivo .csv ou .txt. É possível especificar um máximo de 50 palavras-chave inválidas. Cada palavra-chave não poderá exceder 100 caracteres.

Configurar recursos do AI Guardrail

Esquemas de tabela de acompanhamento de uso

A tabela do sistema de acompanhamento de uso system.serving.served_entities tem o seguinte esquema:

Nome da coluna Descrição Type
served_entity_id A ID exclusiva da entidade atendida. STRING
account_id A ID da conta do cliente para o Compartilhamento Delta. STRING
workspace_id A ID do espaço de trabalho do cliente do ponto de extremidade de serviço. STRING
created_by A ID do criador. STRING
endpoint_name O nome do ponto de extremidade de serviço. STRING
endpoint_id A ID exclusiva do ponto de extremidade de serviço. STRING
served_entity_name O nome da entidades atendida. STRING
entity_type Tipo da entidade que é atendida. Pode ser FEATURE_SPEC, EXTERNAL_MODEL, FOUNDATION_MODEL ou CUSTOM_MODEL STRING
entity_name O nome subjacente da entidade. Diferente do served_entity_name, que é um nome fornecido pelo usuário. Por exemplo, entity_name é o nome do modelo do Catálogo do Unity. STRING
entity_version A versão da entidade atendida. STRING
endpoint_config_version A versão da configuração do ponto de extremidade. INT
task O tipo da tarefa. Pode ser llm/v1/chat, llm/v1/completions ou llm/v1/embeddings. STRING
external_model_config Configurações para modelos externos. Por exemplo, {Provider: OpenAI} STRUCT
foundation_model_config Configurações para modelos de fundação. Por exemplo, {min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} STRUCT
custom_model_config Configurações para modelos personalizados. Por exemplo, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } STRUCT
feature_spec_config Configurações para especificações de recursos. Por exemplo, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } STRUCT
change_time Carimbo de data/hora da alteração para a entidade atendida. TIMESTAMP
endpoint_delete_time Carimbo de data/hora da exclusão da entidade. O ponto de extremidade é o contêiner da entidade atendida. Depois que o ponto de extremidade é excluído, a entidade atendida também é excluída. TIMESTAMP

A tabela do sistema de acompanhamento de uso system.serving.endpoint_usage tem o seguinte esquema:

Nome da coluna Descrição Type
account_id A ID da conta do cliente. STRING
workspace_id A ID do espaço de trabalho do cliente do ponto de extremidade de serviço. STRING
client_request_id O usuário forneceu o identificador de solicitação que pode ser especificado no corpo da solicitação de serviço do modelo. STRING
databricks_request_id Um identificador de solicitação gerado pelo Azure Databricks anexado a todas as solicitações de serviço de modelo. STRING
requester A ID do usuário ou da entidade de serviço cujas permissões são usadas para a solicitação de invocação do ponto de extremidade de serviço. STRING
status_code O código de status HTTP que foi retornado do modelo. INTEGER
request_time O carimbo de data/hora em que a solicitação é recebida. TIMESTAMP
input_token_count A quantidade de tokens da entrada. LONG
output_token_count A quantidade de tokens da saída. LONG
input_character_count A quantidade de caracteres da sequência ou prompt de entrada. LONG
output_character_count A quantidade de caracteres da sequência de saída da resposta. LONG
usage_context O mapa fornecido pelo usuário contendo identificadores do usuário final ou do aplicativo do cliente que faz a chamada para o ponto de extremidade. Confira Definir melhor o uso com usage_context. MAP
request_streaming Se a solicitação está no modo de fluxo. BOOLEAN
served_entity_id A ID exclusiva usada para unir com a tabela de dimensões system.serving.served_entities para pesquisar informações sobre o ponto de extremidade e a entidade atendida. STRING

Definir melhor o uso com usage_context

Ao consultar um modelo externo com o rastreamento de uso habilitado, você pode fornecer o parâmetro usage_context com o tipo Map[String, String]. O mapeamento de contexto de uso aparece na tabela de acompanhamento de uso na coluna usage_context. Os administradores de conta podem agregar linhas diferentes com base no contexto de uso para obter insights e podem unir estas informações às informações na tabela de registro em log de payload. Por exemplo, você pode adicionar end_user_to_charge ao usage_context para atribuição de custo de acompanhamento para usuários finais.

{
  "messages": [
    {
      "role": "user",
      "content": "What is Databricks?"
    }
  ],
  "max_tokens": 128,
  "usage_context":
    {
      "use_case": "external",
      "project": "project1",
      "priority": "high",
      "end_user_to_charge": "abcde12345",
      "a_b_test_group": "group_a"
    }
}

Esquema de tabela de inferência ativado pelo AI Gateway

As tabelas de inferência ativadas usando o AI Gateway têm o seguinte esquema:

Nome da coluna Descrição Type
request_date A data UTC em que a solicitação de serviço de modelo foi recebida. DATE
databricks_request_id Um identificador de solicitação gerado pelo Azure Databricks anexado a todas as solicitações de serviço de modelo. STRING
client_request_id Um identificador de solicitação gerado pelo cliente opcional que pode ser especificado no corpo da solicitação de serviço do modelo. STRING
request_time O carimbo de data/hora em que a solicitação é recebida. TIMESTAMP
status_code O código de status HTTP que foi retornado do modelo. INT
sampling_fraction A fração de amostragem usada no caso de o pedido ter sido reduzido para baixo. Esse valor está entre 0 e 1, onde 1 representa que 100% das solicitações recebidas foram incluídas. DOUBLE
execution_duration_ms O tempo de execução em milissegundos para o qual o modelo realizou inferência. Isso não inclui latências de rede de sobrecarga e representa apenas o tempo necessário para o modelo gerar previsões. bigint
request O corpo JSON da solicitação bruta que foi enviado para o ponto de extremidade de serviço do modelo. STRING
response O corpo JSON de resposta bruta que foi retornado pelo ponto de extremidade de serviço do modelo. STRING
served_entity_id A ID exclusiva da entidade atendida. STRING
logging_error_codes ARRAY
requester A ID do usuário ou da entidade de serviço cujas permissões são usadas para a solicitação de invocação do ponto de extremidade de serviço. STRING

Atualizar recursos do AI Gateway em pontos de extremidade

É possível atualizar os recursos do AI Gateway em pontos de extremidade de serviço do modelo que os ativaram anteriormente e em pontos de extremidade que não os ativaram. As atualizações nas configurações do AI Gateway levam cerca de 20 a 40 segundos para serem aplicadas, mas as atualizações de limitação de taxa podem levar até 60 segundos.

Veja a seguir como atualizar os recursos do AI Gateway em um pontos de extremidade de serviço de modelo usando a IU de serviço.

Na seção Gateway da página do ponto de extremidade, você pode ver quais recursos estão habilitados. Para atualizar esses recursos, clique em Editar AI Gateway.

Atualizar recursos do AI Gateway

Exemplo de notebook

O notebook a seguir mostra como habilitar e usar programaticamente os recursos do Databricks Mosaic AI Gateway para gerenciar e controlar modelos a partir dos provedores. Consulte o seguinte para obter detalhes da API REST:

Habilitar o notebook de recursos do Databricks Mosaic AI Gateway

Obter notebook

Recursos adicionais