Partilhar via


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

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

Requisitos

  • Um espaço de trabalho Databricks em uma região com suporte de modelos externos.
  • Conclua as etapas 1 e 2 de Criar um modelo externo que serve o ponto de extremidade.

Configurar o AI Gateway usando a interface do usuário

Esta seção mostra como configurar o AI Gateway durante a criação do endpoint usando a interface do usuário de serviço.

Se preferir fazer isso programaticamente, consulte o exemplo do Bloco de Anotações.

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

Caraterística Como ativar Detalhes
Controlo de utilização Selecione Habilitar rastreamento de uso para habilitar o rastreamento e o monitoramento de métricas de uso de dados. - Você deve ter o Unity Catalog ativado.
- 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 token para cada solicitação para o endpoint e system.serving.served_entities que armazena metadados para cada modelo externo.
- Consulte Esquemas de tabela de controle de uso
- Somente os administradores de conta têm permissão para visualizar ou consultar a served_entities tabela ou endpoint_usage tabela, mesmo que 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.
Registo de carga útil Selecione Ativar tabelas de inferência para registrar automaticamente solicitações e respostas do seu endpoint em tabelas Delta gerenciadas pelo Unity Catalog. - Você deve ter o Unity Catalog ativado e CREATE_TABLE acesso no esquema de catálogo especificado.
- As tabelas de inferência habilitadas pelo AI Gateway têm um esquema diferente das tabelas de inferência criadas para modelos que servem endpoints que servem modelos personalizados. Consulte Esquema da tabela de inferência habilitada para AI Gateway.
- Os dados de log de carga útil preenchem essas tabelas menos de uma hora depois de consultar o ponto de extremidade.
- Cargas maiores que 1 MB não são registradas.
- A carga útil de resposta agrega a resposta de todas as partes retornadas.
- Streaming é suportado. Em cenários de streaming, a carga útil de resposta agrega a resposta de partes retornadas.
AI Guardrails Consulte Configurar guarda-corpos de IA na interface do usuário. - Os guarda-corpos impedem que o modelo interaja com conteúdo inseguro e prejudicial que é detetado nas entradas e saídas do modelo.
- Guarda-corpos de saída não são suportados para modelos de incorporação ou para streaming.
Limites de taxa Você pode impor limites de taxa de solicitação para gerenciar o tráfego do seu endpoint por usuário e por ponto final - Os limites de taxa são definidos em consultas por minuto (QPM).
- O padrão é Sem limite para cada usuário e por ponto de extremidade.
Roteamento de tráfego Para configurar o roteamento de tráfego em seu ponto de extremidade, consulte Servir vários modelos externos a um ponto de extremidade.

Configurar recursos do AI Gateway

Configurar guarda-corpos de IA na interface do usuário

A tabela a seguir mostra como configurar guarda-corpos suportados.

Guarda-corpo Como ativar Detalhes
Segurança Selecione Segurança para ativar proteções para impedir que seu modelo interaja com conteúdo inseguro e prejudicial.
Deteção de informações de identificação pessoal (PII) Selecione a deteção de PII para detetar dados de PII, como nomes, endereços, números de cartão de crédito.
Tópicos válidos Você pode digitar tópicos diretamente neste campo. Se você tiver várias entradas, certifique-se de pressionar enter após cada tópico. Em alternativa, pode carregar um .csv ficheiro OR .txt . É possível especificar um máximo de 50 tópicos válidos. Cada tópico não pode exceder 100 caracteres
Palavras-chave inválidas Você pode digitar tópicos diretamente neste campo. Se você tiver várias entradas, certifique-se de pressionar enter após cada tópico. Em alternativa, pode carregar um .csv ficheiro OR .txt . Um máximo de 50 palavras-chave inválidas podem ser especificadas. Cada palavra-chave não pode exceder 100 caracteres.

Configurar recursos do AI Guardrail

Esquemas de tabela de controle de uso

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

Nome da coluna Description Type
served_entity_id O ID exclusivo da entidade atendida. STRING
account_id O ID da conta de cliente para o Delta Sharing. STRING
workspace_id O ID do espaço de trabalho do cliente do ponto de extremidade de serviço. STRING
created_by O 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 entidade 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 Unity Catalog. 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 de 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} ESTRUTURA
foundation_model_config Configurações para modelos de fundação. Por exemplo{min_provisioned_throughput: 2200, max_provisioned_throughput: 4400} ESTRUTURA
custom_model_config Configurações para modelos personalizados. Por exemplo{ min_concurrency: 0, max_concurrency: 4, compute_type: CPU } ESTRUTURA
feature_spec_config Configurações para especificações de recursos. Por exemplo, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU } ESTRUTURA
change_time Carimbo de data/hora da alteração para a entidade atendida. CARIMBO DE DATA/HORA
endpoint_delete_time Carimbo de data/hora da exclusão da entidade. O ponto de extremidade é o contêiner para a entidade atendida. Depois que o ponto de extremidade é excluído, a entidade atendida também é excluída. CARIMBO DE DATA/HORA

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

Nome da coluna Description Type
account_id O ID da conta de 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 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. INTEIRO
request_time O carimbo de data/hora no qual a solicitação é recebida. CARIMBO DE DATA/HORA
input_token_count A contagem de tokens da entrada. LONGO
output_token_count A contagem de tokens da saída. LONGO
input_character_count A contagem de caracteres da cadeia de caracteres de entrada ou prompt. LONGO
output_character_count A contagem de caracteres da cadeia de caracteres de saída da resposta. LONGO
usage_context O usuário forneceu um mapa contendo identificadores do usuário final ou do aplicativo do cliente que faz a chamada para o ponto de extremidade. Consulte Definir melhor o uso com usage_context. MAPA
request_streaming Se a solicitação está no modo de fluxo. BOOLEANO
served_entity_id O ID exclusivo usado para unir com a tabela de system.serving.served_entities dimensões para pesquisar informações sobre o ponto de extremidade e a entidade atendida. STRING

Defina melhor o uso com usage_context

Ao consultar um modelo externo com o controle de uso habilitado, você pode fornecer o parâmetro com o usage_context tipo Map[String, String]. O mapeamento de contexto de uso aparece na tabela de controle de uso na usage_context coluna. O tamanho do usage_context mapa não pode exceder 10 KiB.

Os administradores de conta podem agregar diferentes linhas com base no contexto de uso para obter informações e podem unir essas informações com as informações na tabela de registro de carga útil. Por exemplo, você pode adicionar end_user_to_charge ao para rastrear a usage_context atribuição de custos 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 da tabela de inferência habilitada para AI Gateway

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

Nome da coluna Description Type
request_date A data UTC em que o modelo de solicitação de notificação foi recebido. 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 no qual a solicitação é recebida. CARIMBO DE DATA/HORA
status_code O código de status HTTP que foi retornado do modelo. INT
sampling_fraction A fração de amostragem utilizada no caso de o pedido ter sido reduzido para amostragem. Esse valor está entre 0 e 1, onde 1 representa que 100% das solicitações recebidas foram incluídas. DUPLO
execution_duration_ms O tempo 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 que o modelo levou para gerar previsões. BIGINT
request O corpo JSON de 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 O ID exclusivo da entidade atendida. STRING
logging_error_codes MATRIZ
requester A ID do usuário ou 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 endpoints

Você pode atualizar os recursos do AI Gateway em pontos de extremidade de serviço de modelo que os tinham habilitados anteriormente e pontos de extremidade que não tinham. As atualizações das configurações do AI Gateway levam cerca de 20 a 40 segundos para serem aplicadas, no entanto, as atualizações de limitação de taxa podem levar até 60 segundos.

A seguir mostra como atualizar os recursos do AI Gateway em um modelo de ponto de extremidade de serviço usando a interface do usuário 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 bloco de notas

O bloco de anotações a seguir mostra como habilitar e usar programaticamente os recursos do Databricks Mosaic AI Gateway para gerenciar e controlar modelos de provedores. Consulte o seguinte para obter detalhes da API REST:

Ativar Databricks Mosaic AI Gateway recursos notebook

Obter o bloco de notas

Recursos adicionais