Comece agora: MLflow Tracing para GenAI (Databricks Notebook)
Este início rápido o ajuda a integrar seu aplicativo GenAI com o MLflow Tracing se o senhor usar um Databricks Notebook como ambiente de desenvolvimento. Se você usa um IDE local, use o guia de início rápido do IDE.
O que você vai conseguir
Ao final deste tutorial, o senhor terá:
- Um Databricks Notebook com um experimento MLflow vinculado para seu aplicativo GenAI
- Um aplicativo GenAI simples instrumentado com o MLflow Tracing
- Um rastro desse aplicativo em seu experimento MLflow
Pré-requisitos
- Databricks Notebook : Crie um novo Notebook no seu workspace Databricks . O Notebook terá um experimento MLflow default que é o contêiner para seu aplicativo GenAI. Saiba mais sobre os experimentos do MLflow na seção de conceitos do MLflow.
o passo 1: Atualizar MLflow
Atualize o MLflow para a versão mais recente para obter a melhor experiência do GenAI:
%pip install --upgrade "mlflow[databricks]>=3.1" openai
dbutils.library.restartPython()
o passo 2: Instrumente sua aplicação
Os trechos de código abaixo definem um aplicativo GenAI simples que completa frases padrão usando um LLM.
- Inicialize um cliente OpenAI para se conectar a LLMs hospedados pelo Databricks ou LLMs hospedados pelo OpenAI.
- Databricks-hosted LLMs
- OpenAI SDK
O trecho de código abaixo usa o cliente OpenAI para se conectar aos LLMs hospedados no Databricks. O aplicativo usa o Claude Sonnet LLM da Anthropic, mas você pode escolher entre os modelos de base disponíveis.
import mlflow
from databricks.sdk import WorkspaceClient
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Create an OpenAI client that is connected to Databricks-hosted LLMs
w = WorkspaceClient()
client = w.serving_endpoints.get_open_ai_client()
model_name = "databricks-claude-sonnet-4"
Use o SDK nativo do OpenAI para se conectar a modelos hospedados pelo OpenAI. O trecho de código abaixo usa gpt-4o-mini
, mas o senhor pode selecionar entre os modelos disponíveis da OpenAI.
import mlflow
import openai
# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
client = openai.OpenAI()
model_name = "gpt-4o-mini"
-
Defina e execute sua aplicação:
Use o decorador
@mlflow.trace
, que facilita o rastreamento de qualquer função Python, combinado com a instrumentação automática do OpenAI para capturar os detalhes da chamada para o OpenAI SDK.Pythonimport mlflow
import os
# Ensure your OPENAI_API_KEY is set in your environment
# os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>" # Uncomment and set if not globally configured
# Enable auto-tracing for OpenAI
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-tracing-demo")
# Use the trace decorator to capture the application's entry point
@mlflow.trace
def my_app(input: str):
# This call is automatically instrumented by `mlflow.openai.autolog()`
response = client.chat.completions.create(
model=model_name,
temperature=0.1,
max_tokens=100,
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": input,
},
]
)
return response.choices[0].message.content
result = my_app(input="What is MLflow?")
print(result)
Para obter detalhes sobre como adicionar rastreamento a aplicativos, consulte o guia de instrumentação de rastreamento e as mais de 20 integrações de biblioteca.
o passo 3: visualizar o rastreamento no MLflow
O rastreamento aparecerá abaixo da célula do Notebook.
Opcionalmente, você pode acessar a interface do experimento do MLflow para ver o rastreamento:
- Clique no ícone de experimentos
na barra lateral direita.
- Clique no ícone aberto
ao lado da execução do experimento.
- O rastreamento gerado aparece em Traces tab.
- Clique no rastreamento para view seus detalhes.
Compreendendo o traço
O rastreamento que você acabou de criar mostra:
-
Raiz span : representa as entradas para a função
my_app(...)
- Período filho : representa a solicitação de conclusão do OpenAI
-
Atributos : Contém metadados como nome do modelo, contagem de tokens e informações de tempo
-
Entradas : as mensagens enviadas para o modelo
-
Saídas : A resposta recebida do modelo
Esse simples rastreamento já fornece percepções valiosas sobre o comportamento do seu aplicativo, como, por exemplo, o que o senhor está fazendo?
- O que foi perguntado
- Qual resposta foi gerada
- Quanto tempo demorou a solicitação
- Quantos tokens foram usados (afetando o custo)
Para aplicativos mais complexos, como sistemas RAG ou agentes de várias etapas, o MLflow Tracing oferece ainda mais valor ao revelar o funcionamento interno de cada componente e etapa.
guia e referências
Para detalhes sobre conceitos e recursos neste guia, consulte:
- GuiaMLflow Tracing - comece aqui para aprender mais sobre MLflow Tracing
- IntegraçõesMLflow Tracing - mais de 20 bibliotecas com integrações de rastreamento automático
- Conceitos de rastreamento - Entenda os fundamentos do MLflow Tracing