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
Deseja começar a usar o rastreamento?
Veja os guias de início rápido para começar a usar:
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:
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!
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.
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.
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.
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.
- Instrumente seu aplicativo - Escolha entre abordagens de rastreamento automático e manual
- Depurar & observar seu aplicativo - Aprenda a usar traços para depuração e monitoramento
- Usar traços para melhorar a qualidade - Criar um conjunto de dados de avaliação e identificar oportunidades de melhoria
Guia de referência
Explore a documentação detalhada dos conceitos e recursos mencionados neste guia.
- Conceitos de rastreamento - Entenda os fundamentos do MLflow Tracing
- Modelo de dados de rastreamento - Saiba mais sobre traços, extensões e atributos
- Rastreamentos de consulta - Explore o acesso programático aos dados de rastreamento