Pular para o conteúdo principal

MLflow Tracing - generativo observabilidade AI

MLflow Tracing é um recurso poderoso que oferece observabilidade de ponta a ponta para aplicativos do gênero AI, incluindo sistemas complexos baseados em agentes. Ele registra entradas, saídas, etapas intermediárias e metadados para fornecer uma visão completa de como seu aplicativo se comporta.

O rastreamento permite que você:

  • Depure e entenda seu aplicativo
  • Monitorar o desempenho e otimizar os custos
  • Avalie e aprimore a qualidade do aplicativo
  • Garantir a auditabilidade e compliance
  • Integre o rastreamento com muitas estruturas populares de terceiros

Vídeo do Tracing Gateway

Deseja começar a usar o rastreamento?

Veja os guias de início rápido para começar a usar:

IDE local: início rápido do rastreamento

Databricks Notebook: Início rápido do rastreamento

Veja como é fácil começar a usar o MLflow Tracing com apenas algumas linhas de código. mlflow.openai.autolog() rastreia automaticamente todas as chamadas do OpenAI em seu aplicativo - nenhuma outra alteração de código é necessária:

Python
import mlflow
import openai
import os # Added for environment variable configuration

# Configure Databricks Authentication (if running outside Databricks)
# If running in a Databricks notebook, these are not needed.
# os.environ["DATABRICKS_HOST"] = "https://your-workspace.databricks.com"
# os.environ["DATABRICKS_TOKEN"] = "your-databricks-token"

# Configure OpenAI API Key (replace with your actual key)
# os.environ["OPENAI_API_KEY"] = "your-api-key-here"

# Enable automatic tracing for OpenAI - that's it!
mlflow.openai.autolog()

# Set up MLflow tracking
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/my-genai-app")

# Your existing OpenAI code works without any changes
client = openai.OpenAI()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Explain MLflow Tracing"}],
max_tokens=100
)

# Traces are automatically captured and logged to MLflow!
dica

Se estiver executando dentro de um notebook Databricks, as chamadas mlflow.set_tracking_uri("databricks") e mlflow.set_experiment() não são necessárias - o MLflow é configurado automaticamente para o senhor.

Depure e entenda seu aplicativo

MLflow Tracing fornece percepções profundas sobre o comportamento do seu aplicativo, facilitando uma experiência completa de depuração em diferentes ambientes. Ao capturar o ciclo completo de solicitação-resposta (acompanhamento de entrada/saída) e o fluxo de execução , o senhor pode visualizar e entender a lógica e o processo de tomada de decisão do seu aplicativo.

Examinar as entradas, as saídas e os metadados de cada etapa intermediária (por exemplo, recuperação, chamadas de ferramentas, interações com o LLM) e o feedback do usuário associado ou os resultados das avaliações de qualidade permite que o senhor

  • Em desenvolvimento : Obtenha visibilidade detalhada do que acontece abaixo das abstrações da biblioteca GenAI, ajudando o senhor a identificar com precisão onde ocorrem problemas ou comportamentos inesperados.
  • Na produção : Monitore e depure problemas em tempo real. Os rastreamentos capturam erros e podem incluir métricas operacionais, como a latência em cada etapa, auxiliando em diagnósticos rápidos.

O MLflow Tracing oferece uma experiência unificada entre desenvolvimento e produção : o senhor instrumenta seu aplicativo uma vez e o rastreamento funciona de forma consistente em ambos os ambientes. Isso permite que o senhor navegue perfeitamente pelos traços no ambiente de sua preferência, seja no IDE, no Notebook ou no painel de monitoramento da produção, eliminando o incômodo de alternar entre várias ferramentas ou de pesquisar em um site logs.

Captura de tela do erro de rastreamento

Monitorar o desempenho e otimizar os custos

É fundamental entender e otimizar o desempenho e o custo de seus aplicativos GenAI. MLflow Tracing permite que o senhor capture e monitore key métricas operacionais, como latência, custo (por exemplo, uso de tokens) e utilização de recursos em cada etapa da execução do aplicativo.

Isso permite que você:

  • Rastrear e identificar gargalos de desempenho em um pipeline complexo.
  • Monitorar a utilização de recursos para garantir operações eficientes.
  • Otimize a eficiência de custos compreendendo onde os recursos ou tokens são consumidos.
  • Identifique áreas de melhoria de desempenho em seu código ou interações de modelo.

Além disso, o MLflow Tracing é compatível com o OpenTelemetry , uma especificação de observabilidade padrão da indústria. Essa compatibilidade permite que o senhor exporte seus dados de rastreamento para vários serviços em sua pilha de observabilidade existente. Consulte Exportar traços para outro serviço para obter mais detalhes.

Avalie e aprimore a qualidade do aplicativo

Avaliar e melhorar sistematicamente a qualidade de seus aplicativos GenAI é um desafio fundamental. O MLflow Tracing ajuda, permitindo que o senhor anexe e acompanhe o feedback do usuário e os resultados das avaliações de qualidade (de juízes do LLM ou métricas personalizadas) diretamente nos traces.

Isso permite uma avaliação abrangente da qualidade em todo o ciclo de vida do seu aplicativo:

  • Durante o desenvolvimento : Avalie os traços usando revisores humanos ou juízes do LLM para:

    • Meça a precisão, a relevância e outros aspectos de qualidade.
    • Acompanhe as melhorias de qualidade à medida que você repete solicitações, modelos ou estratégias de recuperação.
    • Identifique padrões em problemas de qualidade (por exemplo, tipos específicos de consultas que levam a respostas ruins).
    • Faça data-driven melhorias em seu aplicativo.
  • Na produção : Monitore e avalie a qualidade em tempo real:

    • acompanhamento de métricas de qualidade (derivadas do feedback do usuário e dos resultados da avaliação) em todas as implantações.
    • Identificar degradações ou regressões repentinas da qualidade.
    • Acionar alertas para problemas críticos de qualidade.
    • Ajudar a manter a qualidade dos acordos de nível de serviço (SLAs).

Os rastros da execução da avaliação e do monitoramento da produção podem ser explorados para identificar as causas principais dos problemas de qualidade - por exemplo, documentos recuperados de forma insuficiente em um sistema RAG ou desempenho reduzido de um modelo específico. Os rastreamentos permitem que você analise esses problemas detalhadamente e repita rapidamente.

Além disso, os rastros são inestimáveis para a criação de um conjunto de dados de avaliação de alta qualidade . Ao capturar interações reais do usuário e seus resultados, você pode:

  • Organize casos de teste representativos com base nos padrões reais de uso.
  • Crie conjuntos de avaliação abrangentes que cubram diversos cenários.
  • Use esses dados para ajustar modelos ou melhorar os mecanismos de recuperação.

Quando combinado com o MLflow LLM Evaluation, o MLflow oferece uma experiência perfeita para avaliar e melhorar a qualidade do seu aplicativo.

Avaliações de rastreamento

Garantir a auditabilidade e compliance

O MLflow Tracing permite que o senhor capture cada execução do seu aplicativo, criando uma trilha de auditoria detalhada de como cada saída foi gerada. Isso é essencial para manter a transparência, a responsabilidade e o compliance em seus aplicativos GenAI.

Com visibilidade completa do fluxo de execução, incluindo todas as entradas, saídas, etapas intermediárias e parâmetros usados, você pode:

  • Rastreie e verifique as origens de todas as saídas.
  • Forneça evidências para os requisitos do site compliance.
  • Permita uma análise post-hoc completa do comportamento do seu aplicativo para solicitações específicas.
  • Depure problemas históricos examinando traços anteriores.

Esse registro abrangente garante que você tenha os registros necessários para auditorias internas ou necessidades regulatórias externas.

Parâmetros de rastreamento

Amplo suporte e extensibilidade da estrutura

O MLflow Tracing foi projetado para se encaixar em seu fluxo de trabalho de desenvolvimento GenAI existente com o mínimo de atrito. Ele se integra a mais de 20 bibliotecas e estruturas populares de GenAI prontas para uso, incluindo OpenAI, LangChain, LlamaIndex, DSPy, Anthropic e muito mais. Para muitos deles, o rastreamento pode ser ativado com uma única linha de código (por exemplo, mlflow.openai.autolog()).

Consulte a seção Rastreamento automático e a página Integrações para obter a lista completa de bibliotecas compatíveis e como usá-las.

Esse amplo suporte significa que você pode obter observabilidade sem alterações significativas no código, aproveitando as ferramentas que você já usa. Para componentes personalizados ou biblioteca sem suporte, oMLflow também oferece rastreamento manual APIs avançado.

Recomendações de controle de versão do MLflow

Embora o recurso de rastreamento esteja disponível no MLflow 2.15.0+, é altamente recomendável instalar o MLflow 3 (especificamente o 3.1 ou mais recente se estiver usando o mlflow[databricks]) para obter os recursos de última geração do AI.

Para ambientes de produção que precisam apenas de rastreamento, considere o pacote mlflow-tracing. Para desenvolvimento e experimentação usando o Databricks, use mlflow[databricks]>=3.1.

Próximas etapas

Continue sua jornada com estas ações recomendadas e o tutorial.

Guia de referência

Explore a documentação detalhada dos conceitos e recursos mencionados neste guia.