Configurar o IA Gateway no endpoint do modelo de serviço

Neste artigo, o senhor aprenderá a configurar oMosaic AI Gateway em um modelo de serviço endpoint.

Requisitos

Configurar o IA Gateway usando a interface do usuário

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

Na seção IA Gateway da página de criação endpoint, é possível configurar individualmente os seguintes recursos do IA Gateway:

Recurso

Como habilitar

Detalhes

Uso acompanhamento

Selecione Ativar acompanhamento de uso para ativar o acompanhamento e o monitoramento do uso de dados métricos.

  • O senhor deve ter o Unity Catalog ativado.

  • Os administradores de conta devem ativar o esquema de tabela do sistema de serviço antes de usar as tabelas do sistema: system.serving.endpoint_usage, que captura a contagem de tokens de cada solicitação para o site endpoint e system.serving.served_entities, que armazena metadados para cada modelo externo.

  • Somente os administradores do account têm permissão para view ou consultar a tabela served_entities ou endpoint_usage, embora o usuário que gerenciar o endpoint deva habilitar o acompanhamento do 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 de carga útil

Selecione Enable inference tables (Ativar tabelas de inferência ) para automaticamente log solicitações e respostas de seu endpoint em Delta tabelas gerenciadas por Unity Catalog.

  • O senhor deve ter o Unity Catalog ativado e acesso CREATE_TABLE no esquema de catálogo especificado.

  • As tabelas de inferência ativadas pelo AI Gateway têm um esquema diferente daquelas criadas para o endpoint servindo modelo que serve modelos personalizados. Consulte o esquema da tabela de inferência habilitada pelo AI Gateway.

  • Os dados de registro de carga útil preenchem essas tabelas menos de uma hora após a consulta ao endpoint.

  • As cargas úteis maiores que 1 MB não são registradas.

  • A carga útil da resposta agrega a resposta de todos os fragmentos retornados.

  • A transmissão é suportada. Em cenários de transmissão, a carga útil da resposta agrega a resposta dos pedaços retornados.

Limites de taxa

O senhor pode impor limites de taxa de solicitação para gerenciar o tráfego do seu endpoint por usuário e por endpoint

  • Os limites de taxa são definidos em consultas por minuto (QPM).

  • O default é No limit tanto por usuário quanto por endpoint.

Roteamento de tráfego

Para configurar o roteamento de tráfego em seu endpoint, consulte Servir vários modelos externos a um endpoint.

Configurar o AI Gateway recurso-GCP

Uso de esquemas de tabelas de acompanhamento

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

Nome da coluna

Descrição

Tipo

served_entity_id

O ID exclusivo da entidade atendida.

String

account_id

O cliente account ID para Delta Sharing.

String

workspace_id

O cliente workspace ID do serviço endpoint.

String

created_by

O ID do criador.

String

endpoint_name

O nome do endpoint de serviço.

String

endpoint_id

A ID exclusiva do endpoint 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 do Unity Catalog.

String

entity_version

A versão da entidade servida.

String

endpoint_config_version

A versão da configuração do site endpoint.

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}

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 recurso. Por exemplo, { min_concurrency: 0, max_concurrency: 4, compute_type: CPU }

struct

change_time

Carimbo de data e hora da mudança para a entidade atendida.

Timestamp

endpoint_delete_time

Carimbo de data e hora da exclusão da entidade. O endpoint é o contêiner da entidade atendida. Depois que o endpoint é excluído, a entidade servida 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

Tipo

account_id

O cliente account ID.

String

workspace_id

O cliente workspace id do serviço endpoint.

String

client_request_id

O identificador de solicitação fornecido pelo usuário que pode ser especificado no corpo da solicitação do modelo de serviço.

String

databricks_request_id

Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo.

String

requester

O ID do usuário ou da entidade de serviço cujas permissões são usadas para a solicitação de invocação do serviço endpoint.

String

status_code

O código de status HTTP que foi retornado do modelo.

Integer

request_time

A data e hora em que a solicitação é recebida.

Timestamp

input_token_count

A contagem de tokens da entrada.

Long

output_token_count

A contagem de tokens da saída.

Long

input_character_count

A contagem de caracteres das cadeias de caracteres de entrada ou do prompt.

Long

output_character_count

A contagem de caracteres das strings 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 endpoint. Consulte Definir melhor o uso com usage_context.

Mapa

request_streaming

Se a solicitação está no modo de transmissão.

Booleana

served_entity_id

O ID exclusivo usado para join com a tabela de dimensão system.serving.served_entities para procurar informações sobre a entidade endpoint e servida.

String

Defina melhor o uso com usage_context

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

Os administradores de conta podem agregar diferentes linhas com base no contexto de uso para obter percepções e podem join essas informações com as informações na tabela de registro de carga útil. Por exemplo, o senhor pode adicionar end_user_to_charge ao usage_context para acompanhar a atribuição de custos para os 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 habilitado para IA Gateway

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

Nome da coluna

Descrição

Tipo

request_date

A data UTC em que a solicitação do modelo de serviço foi recebida.

Data

databricks_request_id

Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo.

String

client_request_id

Um identificador de solicitação opcional gerado pelo cliente que pode ser especificado no corpo da solicitação do modelo de serviço.

String

request_time

A data e 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 a solicitação ter sido reduzida. Esse valor está entre 0 e 1, em que 1 representa que 100% das solicitações recebidas foram incluídas.

double

execution_duration_ms

O tempo em milissegundos durante o qual o modelo realizou a inferência. Isso não inclui latências de rede aérea e representa apenas o tempo necessário para o modelo gerar previsões.

BIGINT

request

O corpo bruto da solicitação JSON que foi enviado para o modelo de serviço endpoint.

String

response

O corpo da resposta bruta JSON que foi retornado pelo modelo de serviço endpoint.

String

served_entity_id

O ID exclusivo da entidade atendida.

String

logging_error_codes

matriz

requester

O ID do usuário ou da entidade de serviço cujas permissões são usadas para a solicitação de invocação do serviço endpoint.

String

Atualizar recurso do IA Gateway no endpoint

O senhor pode atualizar os recursos do IA Gateway nos endpoints que os tinham ativados anteriormente e nos endpoints que não os tinham. As atualizações das configurações do IA 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.

A seguir, mostramos como atualizar o recurso do IA Gateway em um modelo de serviço endpoint usando a Serving UI.

Na seção Gateway da página endpoint, é possível ver quais recursos estão ativados. Para atualizar esses recursos, clique em Edit IA Gateway.

Atualizar recurso do IA Gateway

Notebook exemplo

O Notebook a seguir mostra como ativar e usar programaticamente o recurso Databricks Mosaic AI Gateway para gerenciar e administrar modelos de provedores. Veja a seguir os detalhes da API REST:

Habilitar Databricks Mosaic AI Gateway recurso Notebook

Abra o bloco de anotações em outra guia

Outros recursos