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
- Um workspace do Databricks em um modelos externos de região com suporte ou região com suporte de taxa de transferência provisionada.
- Um ponto de extremidade do Serviço de Modelo.
- Para criar um ponto de extremidade para modelos externos, conclua as etapas 1 e 2 de Criar um ponto de extremidade do Serviço de Modelo.
- Para criar um ponto de extremidade para a taxa de transferência provisionada, confira APIs do Modelo Foundation de Taxa de Transferência Provisionada.
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 IA Gateway da página de criação do endpoint, você pode configurar individualmente os recursos do IA Gateway. Confira Recursos com suporte para ver quais recursos estão disponíveis nos pontos de extremidade de atendimento de modelos externos e nos pontos de extremidade de taxa de transferência provisionada.
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 disponibilização antes de usar as tabelas do sistema: system.serving.endpoint_usage que registra contagens de tokens para cada solicitação para o ponto de extremidade e system.serving.served_entities que armazena metadados para cada modelo de base.- 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.- Tabelas de inferência habilitadas pelo Gateway de IA têm um esquema diferente das tabelas de inferência criadas para pontos de extremidade de serviço de modelo que disponibilizam 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, a carga de resposta agrega a resposta de blocos retornados. |
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. |
Limites de taxa | 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 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. |
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
. O tamanho do usage_context
mapa não pode exceder 10 KiB.
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"
}
}
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.
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: