Pular para o conteúdo principal

Monitorar serviços de modelo usando tabelas de inferência

info

Beta

Este recurso está em Beta. Administradores de conta podem controlar o acesso a este recurso na página Prévias do console da conta. Consulte Gerenciar prévias do Databricks.

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

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

As tabelas de inferência do Unity AI Gateway fazem log de solicitações e respostas dos seus serviços de modelo em tabelas Delta do Unity Catalog. Você pode usar esses dados para monitoramento, depuração e otimização dos seus modelos.

Casos de uso comuns incluem:

  • **Depuração**: analise as cargas úteis de solicitação e resposta para solucionar problemas.
  • Monitoramento : acompanhe o desempenho do modelo e identifique anomalias.
  • Otimização : revise as interações para melhorar os prompts e as configurações do modelo.
  • compliance: Mantenha log de auditoria de todas as interações do modelo.

Requisitos

  • Prévia do Unity AI Gateway ativada para sua account. Consulte Gerenciar prévias do Databricks.

  • Um workspace do Databricks em uma região suportada pelo Unity AI Gateway.

  • Unity Catalog habilitado para seu workspace. Consulte Ativar 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 este privilégio.

  • O privilégio CREATE TABLE no catálogo e esquema especificados do Unity Catalog.

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

  • O privilégio USE SCHEMA no esquema especificado.

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

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

Habilitar tabelas de inferência

Tabelas de inferência só podem ser configuradas após a criação de um serviço de modelo.

Para habilitar tabelas de inferência:

  1. Na barra lateral, clique em AI Gateway .
  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 onde 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 Unity Catalog e podem ser modificadas pelo proprietário da tabela.

nota

Especificar uma tabela existente não é compatível. **Databricks** cria automaticamente uma nova tabela de inferência ao habilitar as tabelas de inferência.

atenção

A tabela de inferência pode parar de registrar dados ou ficar corrompida se você fizer o seguinte:

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

Desativar tabelas de inferência

Para desativar tabelas de inferência:

  1. Na barra lateral, clique em AI Gateway .
  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 Desativar tabelas de inferência .

Consultar a tabela de inferência

Você pode view a tabela na UI, ou consultar a tabela do Databricks SQL ou de um Notebook.

Para view a tabela na UI, clique no link da tabela de inferência na página de serviço do modelo para abrir a tabela no Catalog Explorer.

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

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

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

Esquema da tabela de inferência

As tabelas de inferência do Unity AI Gateway têm o seguinte esquema:

Nome da coluna

Tipo

Descrição

Exemplo

request_id

String

Um identificador exclusivo para a solicitação.

7a99b43cb46c432bb0a7814217701909

invocation_id

String

Um identificador exclusivo para cada chamada de inferência individual. Múltiplas invocações podem compartilhar o mesmo request_id, como verificações de guardrail ou chamadas de agente de várias etapas. Use invocation_id para distingui-los.

c0a8012e-9f3b-4d21-8a7e-1b2c3d4e5f60

request_tags

Mapa

Tags associadas à solicitação.

{"team": "engineering"}

event_time

Timestamp

O carimbo 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 se a subamostragem foi usada. 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 para o primeiro byte em milissegundos.

200

request

String

O payload de requisição JSON bruto.

{"messages": [...], ...}

response

String

O payload de resposta JSON bruto.

{"choices": [...], ...}

destination_type

String

O tipo de destino (por exemplo, modelo externo ou modelo básico).

PAY_PER_TOKEN_FOUNDATION_MODEL

destination_name

String

O nome do modelo ou provedor de destino.

databricks-gpt-5-2

destination_model

String

O modelo específico utilizado para a solicitação.

GPT-5.2

logging_error_codes

matriz

Códigos de erro se o registro falhar (por exemplo, MAX_REQUEST_SIZE_EXCEEDED).

["MAX_RESPONSE_SIZE_EXCEEDED"]

requester

String

O ID do usuário ou da entidade de serviço que fez a solicitação.

databricks.engineer@databricks.com

schema_version

String

A versão do esquema do registro da tabela de inferência.

0

Nome da coluna

Tipo

Descrição

Exemplo

request_id

String

Um identificador exclusivo para a solicitação.

7a99b43cb46c432bb0a7814217701909

invocation_id

String

Um identificador exclusivo para cada chamada de inferência individual. Múltiplas invocações podem compartilhar o mesmo request_id, como verificações de guardrail ou chamadas de agente de várias etapas. Use invocation_id para distingui-los.

c0a8012e-9f3b-4d21-8a7e-1b2c3d4e5f60

request_tags

Mapa

Tags associadas à solicitação.

{"team": "engineering"}

event_time

Timestamp

O carimbo 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 se a subamostragem foi usada. 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 para o primeiro byte em milissegundos.

200

request

String

O payload de requisição JSON bruto.

{"messages": [...], ...}

response

String

O payload de resposta JSON bruto.

{"choices": [...], ...}

destination_type

String

O tipo de destino (por exemplo, modelo externo ou modelo básico).

PAY_PER_TOKEN_FOUNDATION_MODEL

destination_name

String

O nome do modelo ou provedor de destino.

databricks-gpt-5-2

destination_model

String

O modelo específico utilizado para a solicitação.

GPT-5.2

logging_error_codes

matriz

Códigos de erro se o registro falhar (por exemplo, MAX_REQUEST_SIZE_EXCEEDED).

["MAX_RESPONSE_SIZE_EXCEEDED"]

requester

String

O ID do usuário ou da entidade de serviço que fez a solicitação.

databricks.engineer@databricks.com

schema_version

String

A versão do esquema do registro da tabela de inferência.

0

Limitações

  • Somente para catálogos de armazenamento externo : Tabelas de inferência podem ser criadas apenas em catálogos de armazenamento externo. Catálogos de armazenamento default não são atualmente compatíveis.
  • Endpoints privados não são compatíveis : tabelas de inferência não podem ser criadas em um armazenamento protegido por meio de um endpoint privado. Consulte limitações do conector Zerobus Ingest.
  • Entrega com melhor esforço : logs geralmente estão disponíveis minutos após uma solicitação, mas a entrega não é garantida.
  • Tamanho máximo do payload: solicitações e respostas maiores que 10 MiB não são log. A coluna logging_error_codes 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 erros 401, 403, 429 ou 500.

Recursos adicionais