Pular para o conteúdo principal
Página não listada
Esta página não está listada. Mecanismos de busca não armazenarão nenhuma informação, e somente usuários que possuam o link direto poderão acessá-la

Monitorar aplicativos generativos AI

info

Beta

Esse recurso está na versão beta.

Esta página descreve como usar os vários recursos de monitoramento de lakehouse para o GenAI. Para ativar o monitoramento, siga as etapas relacionadas na visão geral do monitoramento.

visualizar resultados do monitoramento

Antes de visualizar os resultados do monitoramento, o senhor deve ter o seguinte:

  • Acesso a um site em execução SQL warehouse. Caso contrário, crie um.
  • Um monitor que o senhor criou seguindo as instruções em Configurar monitoramento.

Depois que esses pré-requisitos forem atendidos, o senhor poderá acessar view uma página que resume os resultados gerados por um monitor, seguindo estas etapas:

  1. Clique em Experimentos na barra lateral abaixo da seção Aprendizado de Máquina .

  2. Clique no experimento MLflow associado ao seu monitor.

    Se o senhor não souber como encontrar o nome do experimento relevante, siga as instruções em Obter metadados do monitor para recuperar o ID do experimento e execute mlflow.get_experiment(experiment_id=$YOUR_EXPERIMENT_ID) no Notebook para encontrar o nome do experimento.

  3. Clique no botão de monitoramento tab.

  4. Selecione seu SQL warehouse usando a opção Choose a SQL warehouse dropdown.

  5. A página é atualizada para mostrar os resultados do monitoramento. Os resultados podem levar alguns minutos para serem carregados.

Use a UI de monitoramento

Todos os dados na interface do usuário de monitoramento, tanto na guia Gráficos quanto na guia Registros , são limitados a uma janela de tempo. Para alterar a janela, use o Time Range dropdown.

Gráficos tab

O site Charts tab é composto de quatro seções: Solicitações, métricas, Latência e Erros.

Captura de tela da página que resume os resultados do monitoramento.

A seção Solicitações mostra o volume de rastreamento ao longo do tempo.

Captura de tela da seção Solicitações.

A seção de métricas mostra as contagens de respostas que são avaliadas pelos juízes do site LLM. Verde indica respostas aprovadas, enquanto vermelho indica respostas que falham. As métricas listadas nesta seção devem corresponder àquelas definidas quando o senhor criou um monitor, juntamente com uma pontuação geral de qualidade de aprovação/reprovação.

Captura de tela da seção métricas.

A seção Latência mostra a latência de execução do rastreamento ao longo do tempo, obtida da latência relatada pelo MLflow.

Captura de tela da seção Latência.

A seção Erros mostra todos os erros do modelo ao longo do tempo. Quando nenhum erro ocorrer, você verá um indicador de “sem dados” da seguinte forma:

Captura de tela da seção Erros.

registros tab

Captura de tela dos registros tab.

Os registros tab listam as solicitações enviadas ao modelo selecionado, juntamente com os resultados das avaliações LLM, se houver. No máximo 10.000 solicitações do período selecionado são mostradas na interface do usuário. Se a contagem de solicitações exceder esse limite, as solicitações serão amostradas em uma taxa diferente da taxa de amostragem especificada na configuração do monitor.

Para filtrar a solicitação logs com base no texto contido nas solicitações enviadas, use a caixa de pesquisa. O senhor também pode usar o menu Filters (Filtros ) dropdown para filtrar logs pelos resultados de suas avaliações associadas.

Captura de tela dos filtros do site log.

Passe o mouse sobre uma solicitação e clique na caixa de seleção para selecionar uma solicitação. O senhor pode então clicar em Add to evals para adicionar essas solicitações a uma avaliação dataset.

Captura de tela do modal add to evals.

Clique em uma solicitação para acessar view seus detalhes. O modal exibe os resultados da avaliação, a entrada, a resposta e os documentos recuperados para responder à solicitação, se houver. Para obter mais detalhes da solicitação, incluindo informações de tempo, clique em See detailed trace view no canto superior direito do modal.

Captura de tela do modal de detalhes da solicitação.

Captura de tela do rastreamento detalhado view de uma solicitação.

Adicionar alerta

Use o Databricks SQL alerta para notificar os usuários quando a tabela de rastreamento avaliada não corresponder às expectativas, por exemplo, quando a fração de solicitações marcadas como prejudiciais exceder um limite.

Atualizar ou pausar um monitor

Para atualizar a configuração de um monitor, chame update_monitor, que usa as seguintes entradas:

  • endpoint_name: str - Nome do endpoint que está sendo monitorado
  • monitoring_config: dict - Configuração para o monitor. Consulte Configurar monitoramento para obter os parâmetros suportados.

Por exemplo:

Python
from databricks.agents.evals.monitors import update_monitor

monitor = update_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"sample": 0.1, # Change sampling rate to 10%
}
)

Da mesma forma, para pausa um monitor:

Python
from databricks.agents.evals.monitors import update_monitor

monitor = update_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"paused": True,
}
)

Obtenha metadados do monitor

Use a função get_monitor para recuperar a configuração atual de um monitor para um agente implantado.

Python
from databricks.agents.evals.monitors import get_monitor

get_monitor('model-serving-endpoint-name')

A função retorna um objeto Monitor incluindo os seguintes atributos:

  • endpoint_name - Nome do endpoint que está sendo monitorado.
  • monitoring_config - Configuração para o monitor. Consulte Configurar o monitoramento para obter os parâmetros de configuração.
  • experiment_id - O experimento MLflow em que os resultados do monitoramento são exibidos. Veja os resultados do monitoramento.
  • evaluated_traces_table - Unity Catalog tabela contendo os resultados da avaliação de monitoramento.

Excluir um monitor

Para remover um monitor de um endpoint, ligue para delete_monitor.

Python
from databricks.agents.evals.monitors import delete_monitor

monitor = delete_monitor(
endpoint_name = "model-serving-endpoint-name",
)

A tabela de rastreamentos avaliados gerada por um monitor não será excluída por chamadas para delete_monitor.

Métricas personalizadas no monitoramento de agentes

Essa abordagem para habilitar métricas personalizadas no monitoramento está sujeita a alterações no futuro. Se tiver alguma dúvida, entre em contato com o representante da Databricks.

Siga estas etapas para ativar a avaliação de métricas personalizadas no monitor de agentes.

  1. Crie um arquivo Python (.py) na pasta workspace e defina suas métricas personalizadas. Esse deve ser um arquivo Python e não um Notebook Databricks. Consulte o uso básico dos arquivos de espaço de trabalho para obter instruções sobre como criar um arquivo Python no site Databricks workspace.

  2. Defina uma lista nesse arquivo chamada CUSTOM_METRICS contendo suas funções métricas. As mesmas métricas personalizadas funcionam on-line e off-line quando o senhor usa o site mlflow.evaluate. Veja Custom métricas.

    Aqui está um exemplo de arquivo:

    Python
    # custom_metrics.py

    import mlflow
    import pandas as pd
    from databricks.agents.evals import metric

    @metric
    def response_mentions_llm(response):
    return "LLM" in response

    @metric
    def request_too_long(request):
    return len(request) > 1000


    CUSTOM_METRICS = [response_mentions_llm, request_too_long]
  3. Navegue até o fluxo de trabalho tab.

    • Se o seu agente estiver hospedado no Databricks, encontre o fluxo de trabalho intitulado [<your agent name>] Agent Monitoring Job.
    • Se o seu agente estiver hospedado fora da Databricks, localize o fluxo de trabalho intitulado monitor_<monitoring table name>, substituindo o . caracteres no nome da tabela com -.
  4. Edite o fluxo de trabalho para adicionar um parâmetro de trabalho. Consulte Configurar parâmetros do trabalho.

  5. Crie um parâmetro chamado CUSTOM_METRICS_NOTEBOOK_PATH. O valor desse parâmetro deve ser o caminho completo para seu arquivo métricas Python personalizado.

Suas métricas personalizadas serão avaliadas na execução subsequente do monitor.

Para iterar em suas métricas personalizadas antes de incluí-las em seu monitor, execute mlflow.evaluate em um subconjunto de traços.

Se o seu agente estiver hospedado na Databricks:

Python
import mlflow
import pandas as pd
from databricks.agents.evals import metric

@metric
def response_mentions_llm(response):
return "LLM" in response

df = spark.table("<your-monitoring-table>")
pdf = df.toPandas()[['request','response','trace']]

import mlflow
result = mlflow.evaluate(
data = pdf,
model_type="databricks-agent",
extra_metrics=[response_mentions_llm]
)
display(result)