Solicitações de log e respostas às tabelas de inferência

Esta página descreve como usar tabelas de inferência para monitorar serviços de modelo Unity Gateway .

Observação

Tabelas de inferência são um recurso faturado do Unity Gateway. O Azure Databricks cobra pelas solicitações e respostas que as tabelas de inferência registram. Veja preços do Unity Gateway.

O que são tabelas de inferência do Unity Gateway?

As tabelas de inferência do Unity Gateway registram solicitações e respostas de seus serviços de modelo em tabelas Delta do Unity Catalog. Você pode usar esses dados para monitorar, depurar e otimizar seus modelos.

Os casos de uso comuns incluem:

  • Depuração: analise os conteúdos de solicitação e resposta para solucionar problemas.
  • Monitoramento: acompanhe o desempenho do modelo e identifique anomalias.
  • Otimização: rever as interações para melhorar os prompts e as configurações de modelo.
  • Conformidade: manter logs de auditoria de todas as interações de modelo.

Requirements

  • Um espaço de trabalho Azure Databricks em uma região suportada pelo Unity Gateway.

  • Unity Catalog habilitado para seu workspace. Consulte Habilitar um workspace para o Unity Catalog.

  • O privilégio MANAGE no Serviço de Modelo. Tanto o criador quanto o modificador do serviço de modelo devem ter esse privilégio.

  • O privilégio CREATE TABLE no catálogo e no esquema especificados do Unity Catalog (o catálogo deve ser um catálogo de armazenamento externo; consulte Limitações).

  • O privilégio USE CATALOG sobre o catálogo especificado.

  • O privilégio USE SCHEMA no esquema especificado.

  • O catálogo não pode ser um catálogo OpenSharing no metastore atual.

  • O Databricks recomenda habilitar a otimização preditiva para melhorar o desempenho.

Habilitar tabelas de inferência

As tabelas de inferência só podem ser configuradas depois que você cria um serviço de modelo.

Para habilitar tabelas de inferência:

  1. Na barra lateral, clique em Gateway de IA.
  2. Clique no nome do serviço de modelo para abrir a página do serviço de modelo.
  3. Clique em Configurar ao lado de tabelas de inferência.
  4. Especifique o catálogo e o esquema em que você deseja armazenar a tabela de inferência.
  5. Clique em Salvar.

O proprietário da tabela de inferência é o usuário que criou o serviço de modelo. Todas as ACLs seguem as permissões padrão do Catálogo do Unity e podem ser modificadas pelo proprietário da tabela.

Observação

Não há suporte para especificar uma tabela existente. Quando você ativa as tabelas de inferência, o Azure Databricks cria automaticamente uma nova para você após o endpoint receber sua primeira solicitação. As linhas podem levar até uma hora para aparecer na tabela após o endpoint receber sua primeira solicitação.

Aviso

A tabela de inferência poderá interromper o registro em log de dados ou ficar corrompida se você fizer o seguinte:

  • Altere o esquema da tabela.
  • Altere o nome da tabela.
  • Excluir a tabela.

Desabilitar tabelas de inferência

Para desabilitar tabelas de inferência:

  1. Na barra lateral, clique em Gateway de IA.
  2. Clique no nome do serviço de modelo para abrir a página do serviço de modelo.
  3. Clique no ícone de edição ao lado de tabelas de Inferência.
  4. Clique em Desabilitar tabelas de inferência.

Consultar a tabela de inferência

Você pode exibir a tabela na interface do usuário ou consultar a tabela no Databricks SQL ou em um notebook.

Para exibir a tabela na interface do usuário, clique no link da tabela de inferência na página de serviço do modelo para abrir a tabela no Gerenciador de Catálogos.

Para consultar a tabela do Databricks SQL ou de um notebook:

SELECT * FROM <catalog>.<schema>.<payload_table>

Substitua <catalog>, <schema>e <payload_table> pelo local da tabela.

Esquema de tabela de inferência

As tabelas de inferência do Unity Gateway possuem o seguinte esquema:

Nome da coluna Tipo Descrição Example
request_id CADEIA DE CARACTERES Um identificador exclusivo para a solicitação. 7a99b43cb46c432bb0a7814217701909
invocation_id CADEIA DE CARACTERES Um identificador exclusivo para cada chamada de inferência individual. Várias invocações podem compartilhar o mesmo request_id, como verificações de proteção ou chamadas de agente de várias rodadas. Use invocation_id para distingui-los. c0a8012e-9f3b-4d21-8a7e-1b2c3d4e5f60
request_tags MAP Etiquetas associadas à solicitação. {"team": "engineering"}
event_time TIMESTAMP O registro de data/hora quando a solicitação foi recebida. 2024-05-17T13:47:13.282-07:00
status_code INT O código de status HTTP da resposta. 200
sampling_fraction DOUBLE A fração de amostragem caso a redução de amostragem tenha sido utilizada. Um valor de 1 significa que não há subamostragem. 1
latency_ms LONG A latência total em milissegundos. 300
time_to_first_byte_ms LONG O tempo até o primeiro byte em milissegundos. 200
request CADEIA DE CARACTERES A carga útil bruta da solicitação JSON. {"messages": [...], ...}
response CADEIA DE CARACTERES A payload de resposta JSON bruta. {"choices": [...], ...}
destination_type CADEIA DE CARACTERES O tipo de destino (por exemplo, modelo externo ou modelo de base). PAY_PER_TOKEN_FOUNDATION_MODEL
destination_name CADEIA DE CARACTERES O nome do modelo ou provedor de destino. system.ai.gpt-5-2
destination_model CADEIA DE CARACTERES O modelo específico usado para a solicitação. GPT-5.2
logging_error_codes ARRAY Códigos de erro se o registro em log falhar (por exemplo, MAX_REQUEST_SIZE_EXCEEDED). ["MAX_RESPONSE_SIZE_EXCEEDED"]
requester CADEIA DE CARACTERES A ID do usuário ou da entidade de serviço que fez a solicitação. databricks.engineer@databricks.com
schema_version CADEIA DE CARACTERES A versão do esquema do registro da tabela de inferência. 0

Limitations

  • Somente catálogos de armazenamento externo: tabelas de inferência só podem ser criadas em catálogos de armazenamento externo. Atualmente, catálogos de armazenamento padrão não têm suporte.
  • Não há suporte para pontos de extremidade privados: as tabelas de inferência não podem ser criadas no armazenamento protegidas por meio de um ponto de extremidade privado. Veja cotas de ingestão do Zerobus.
  • Entrega com melhor esforço: os logs normalmente estão disponíveis minutos após uma solicitação, mas a entrega não é garantida.
  • Tamanho máximo da carga: solicitações e respostas maiores que 10 MiB não são registradas. A logging_error_codes coluna indica quando isso ocorre com MAX_REQUEST_SIZE_EXCEEDED ou MAX_RESPONSE_SIZE_EXCEEDED.
  • Respostas de erro: os logs podem não ser preenchidos para solicitações que retornam 401, 403, 429 ou 500 erros.

Recursos adicionais