Pular para o conteúdo principal

Visualize os rastreamentos na interface do usuário Databricks MLflow .

Todos os rastreamentos capturados são registrados em um Experimento do MLflow. Quando MLFLOW_TRACKING_URI estiver definido como databricks, o serviço gerenciado MLflow Tracking em seu workspace os armazena e atende, sem necessidade de hospedagem adicional para execução. Acesse-os por meio da interface do usuário do MLflow em seu workspace do Databricks.

  1. Navegue até seu experimento : Acesse o experimento onde seus rastreamentos são registros. Por exemplo, o experimento definido por mlflow.set_experiment("/Shared/my-genai-app-traces")).

  2. Abra a tabRastreamentos : Na view do experimento, clique na tab Rastreamentos para ver uma lista de todos os registros de rastreamento desse experimento.

    Visualização da lista de rastreamento

Entenda a lista de rastreamento

A lista de rastreamentos fornece uma visão geral de alto nível dos seus rastreamentos, com colunas classificáveis:

  • ID de rastreamento : O identificador exclusivo para cada rastreamento.
  • Request : Uma pré-visualização da entrada que Trigger o rastreamento.
  • Resposta : Uma pré-visualização da saída final do rastreio.
  • Sessão : o identificador de sessão que agrupa rastreamentos relacionados, como os turnos em uma conversa. Exibido quando fornecido.
  • Usuário : O identificador do usuário. Mostrado quando fornecido.
  • Execution time : o tempo total que o rastreamento levou para ser concluído.
  • Request time : O timestamp de quando o rastreamento foi iniciado.
  • Run name : o nome da execução do MLflow associada, vinculada a ela, quando o rastreamento pertence a uma execução.
  • Source : A origem do rastreamento, como a biblioteca instrumentada ou o componente (openai, langchain ou um nome de rastreamento personalizado).
  • State : O status do rastreio (OK, ERROR, IN_PROGRESS).
  • Nome do rastreamento : O nome atribuído ao rastreamento, geralmente o nome do intervalo raiz.
  • Avaliações : Uma coluna por tipo de avaliação (por exemplo, my_scorer, professional). Uma seção de resumo acima da lista mostra métricas de avaliação agregadas, como médias ou taxas de aprovação/reprovação, nos rastreamentos visíveis.
  • Tags : Tags exibidas como colunas (por exemplo, persona, style).

Pesquisar e filtrar rastros

A interface do usuário oferece várias maneiras de encontrar rastreamentos relevantes:

  • Barra de pesquisa : Por default, pesquise rastreamentos por palavra-chave em seu ID, entrada e saída.

  • Filtrar com IA : clique no ícone de brilho na barra de pesquisa para alternar para a pesquisa por IA e, em seguida, descreva os rastros desejados em inglês simples (por exemplo, "traces with errors" ou "traces slower than 5 seconds") e pressione Enter. O MLflow converte sua descrição em um filtro estruturado sobre os campos de rastreamento filtráveis. Para perguntas analíticas em vários rastreamentos, abra o Genie Code.

  • Filters dropdown : crie queries estruturadas sobre:

    • Atributos : conteúdo de Request, Session time, Execution time ou Request time.
    • Assessments : Filtrar pela presença ou valor de avaliações como my_scorer ou professional.
    • Outros campos como State, Trace name, Session, User e Tags (por exemplo, tags.persona = 'expert').
  • Sort dropdown : Ordene os rastreios por colunas como Request time ou Execution time.

  • Dropdown de colunas : escolha quais colunas estão visíveis, incluindo tags específicas ou métricas de avaliação.

Filtro de lista de rastreamento

Filtros de metadados

Na interface do usuário MLflow ( tab Rastreamento), você pode view os metadados anexados:

metadados de rastreamento

Filtre os rastreamentos na interface do usuário do MLflow usando estas consultas de pesquisa:

# Find all traces for a specific user
metadata.`mlflow.trace.user` = 'user-123'

# Find all traces in a session
metadata.`mlflow.trace.session` = 'session-abc-456'

# Find traces for a user within a specific session
metadata.`mlflow.trace.user` = 'user-123' AND metadata.`mlflow.trace.session` = 'session-abc-456'

# Find traces from production environment
metadata.`mlflow.source.type` = 'production'

# Find traces from a specific app version
metadata.app_version = '1.0.0'

Explore um rastro individual

Para inspecionar um rastreamento específico, clique em seu Request ou Trace Name na lista. A visualização de rastreamento detalhada tem duas abas:

  • Summary : Uma visão geral de alto nível do rastreamento. Ele mostra as entradas e saídas do span raiz, os principais spans intermediários e quaisquer exceções geradas durante o rastreamento. Use os botões de alternância default , JSON e view para alterar a forma como as entradas e saídas são renderizadas.
  • Detalhes e Linha do Tempo : O detalhamento completo do intervalo com detalhes por intervalo, descrito na seção seguinte.

Visão geral dos detalhes do rastreamento

A tab Details & Timeline tem três painéis:

  1. Trace breakdown (painel esquerdo) :

    • Exibe a hierarquia de intervalos como um gráfico de árvore ou em cascata. Ele mostra todos os intervalos no rastreamento, suas relações pai-filho e sua ordem e duração de execução.
    • Selecione um span para inspecionar seus detalhes.
  2. Detalhes do intervalo (painel central) :

    • Quando você seleciona um intervalo, este painel mostra seus detalhes, organizados em tab:

      • Chat : para interações de LLM baseadas em chat, uma view renderizada do fluxo de conversação (mensagens do usuário, do assistente e de ferramentas).

      Aba de bate-papo com detalhes do Span

      • Inputs / Outputs : A entrada bruta passada para a operação e a saída bruta retornada por ela. Para conteúdo longo, use o botão "See more" / "See less" para expandir ou recolher a view.

      Aba de detalhes do intervalo de E/S

      • Attributes : Metadados de key-value específicos do intervalo (por exemplo, model e temperature para uma chamada de LLM ou doc_uri para um intervalo de recuperador).

      Aba Atributos de Detalhes do Intervalo

      • Eventos : para intervalos que geraram erros, os detalhes da exceção e os rastreamentos de pilha. Para intervalos de transmissão, os blocos de dados individuais à medida que foram produzidos.

      • Alguns campos de saída têm um Markdown toggle para alternar entre as views bruta e renderizada quando o conteúdo é em Markdown.

  3. Avaliações (painel direito) :

    • Exibe as avaliações (feedback de usuário ou avaliações) registradas para o rastreamento inteiro ou o intervalo selecionado .
    • Use o botão + Add new assessment para registrar feedback ou pontuações de avaliação diretamente da IU, o que oferece suporte a fluxos de trabalho de rotulagem e revisão manual.

    Detalhes da Rastreamento Adicionar Avaliação

Informação ao nível do rastreio : A view também exibe tags ao nível do rastreio e quaisquer avaliações registradas para todo o rastreio, visíveis no painel Avaliações quando o intervalo raiz ou nenhum intervalo é selecionado. Eles podem vir do feedback direto do usuário ou de avaliações sistemáticas.

dica

Para substituir as tabs default por uma disposição personalizada que apresente apenas os campos, métricas e controles de feedback de seu interesse, crie uma view de rastreamento personalizada.

Cenários comuns de depuração

Use a interface do usuário do MLflow Tracing para atender às necessidades comuns de depuração e observabilidade:

  1. Identificar rastreamentos lentos (gargalos de latência) :

    • Lista de rastreamentos : ordene por "Execution time" em ordem decrescente para trazer os rastreamentos mais lentos para o topo.
    • View detalhada : abra um rastreamento lento e examine o painel "Discriminação de rastreamento". A exibição em cascata destaca as operações de maior duração, o que identifica gargalos no fluxo do seu aplicativo.

    Identificando traços lentos na interface do usuário

  2. Encontrar rastros de um usuário específico :

    • Filtros : Se você tiver informação de usuário rastreada e ela estiver disponível como um filtro (em "Atributos" ou em um filtro "Usuário"), selecione ou insira o ID do usuário.
    • Search and tags : se os IDs de usuário forem armazenados como tags, como mlflow.trace.user, pesquise com tags.mlflow.trace.user = 'user_example_123'.

    Interface do usuário para encontrar rastros de usuários

  3. Localizar rastreamentos com falhas (erros) :

    • Filtros : Selecione o atributo State e escolha ERROR para ver apenas os rastreamentos que falharam.
    • Visualização detalhada : Selecione o intervalo com erro em "Detalhamento do rastreamento" e abra a tab "Eventos" para exibir a mensagem de exceção e o rastreamento de pilha.

    Interface do usuário para localização de rastros de erros

  4. Identificar rastros com feedback negativo ou problemas :

    • Filtros de avaliação : se você coletar feedback do usuário ou executar avaliações que produzam avaliações (como um is_correct Boolean ou um relevance_score numérico), filtre por nome e valor da avaliação (por exemplo, is_correct = false ou relevance_score < 0.5).
    • Avaliações da view : abra um rastreamento e verifique o painel "Assessments" ou as avaliações de spans individuais para ver comentários, pontuações e justificativas registrados.

    Identificação de feedback negativo na interface do usuário

Rastreamento no Notebook Databricks

O MLflow Tracing exibe rastreamentos diretamente em notebooks do Databricks, como parte do seu fluxo de trabalho de desenvolvimento e experimentação.

nota

A integração MLflow Tracing Databricks Notebook está disponível no MLflow 2.20 e versões superiores.

Interface de rastreamento do Databricks Notebook

Quando você trabalha em um notebook do Databricks e seu URI do MLflow Tracking está definido como "databricks" (geralmente o default, ou definido com mlflow.set_tracking_uri("databricks")), a IU de rastreamento pode ser exibida automaticamente na saída de uma célula.

Isso acontece quando:

  1. O código de uma célula gera um rastreamento (por exemplo, chamando uma função decorada com @mlflow.trace ou uma chamada de biblioteca instrumentada automaticamente).
  2. Você chama mlflow.search_traces() e exibe o resultado.
  3. Um objeto mlflow.entities.Trace (por exemplo, de mlflow.get_trace()) é a última expressão em uma célula ou é passado para display().

A view no notebook fornece os mesmos recursos de exploração de rastreamento que a IU principal do MLflow Experiments, permitindo iterar sem alternar o contexto.

Controle a tela do notebook

Para ativar ou desativar a exibição automática de rastreamentos nas saídas das células do Notebook, execute: mlflow.tracing.disable_notebook_display() ou mlflow.tracing.enable_notebook_display()

Limitações

  • A lista de rastreamento retorna no máximo 1.000 rastreamentos. Os filtros e a pesquisa por ID de rastreamento aplicam-se apenas a este conjunto, e não ao experimento completo; portanto, rastreamentos mais antigos em experimentos grandes podem não aparecer. Para encontrar um registro mais antigo, reduza o intervalo de tempo para incluí-lo.
  • Experimentos que não estão no Unity Catalog são limitados a 100.000 rastreamentos. Para armazenamento escalável e governado, sem limite de rastreamento, a Databricks recomenda armazenar rastreamentos no Unity Catalog. Para mover rastreamentos de experimento existentes, migre para rastreamentos no Unity Catalog.

Recursos adicionais

Próximo passo: Encontrar problemas em rastreamentos