Rastreamento automático e integrações
Uma chamada — mlflow.<framework>.autolog() — habilita o rastreamento para qualquer um dos mais de 30 frameworks e provedores de LLM suportados. Ele aplica um patch na biblioteca no momento da importação para que cada invocação de LLM, chamada de ferramenta e o passo do agente seja capturado como um span sem instrumentação adicional.
Habilitar o rastreamento automático
Em clusters de compute serverless, o salvamento automático (autologging) não está habilitado por default. Você deve chamar mlflow.<library>.autolog() explicitamente para cada integração que deseja rastrear.
Install
%pip install --upgrade "mlflow[databricks]>=3.1.0" "openai>=1.0.0"
# Also install the SDKs for any other frameworks you want to trace
dbutils.library.restartPython()
Definir credenciais
- Databricks notebook
- External environment
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
# Add other provider keys as needed:
# os.environ["ANTHROPIC_API_KEY"] = "your-api-key"
export DATABRICKS_HOST="https://your-workspace.cloud.databricks.com"
export DATABRICKS_TOKEN="your-databricks-token"
# Add provider keys for your chosen LLM
Exemplos de início rápido
Escolha seu framework para ver um exemplo funcional mínimo. Cada tab aponta para o guia completo de cada framework.
- OpenAI
- LangChain
- LangGraph
- Anthropic
- Databricks FMAPI
- DSPy
- Bedrock
- AutoGen
import mlflow
import openai
mlflow.openai.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-tracing-demo")
client = openai.OpenAI()
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "What is the capital of France?"}],
)
# Trace appears in the MLflow UI automatically
import mlflow
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
mlflow.langchain.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/langchain-tracing-demo")
chain = (
ChatPromptTemplate.from_template("Tell me a joke about {topic}.")
| ChatOpenAI(model="gpt-4o-mini", temperature=0.7)
| StrOutputParser()
)
chain.invoke({"topic": "artificial intelligence"})
import mlflow
from langchain_core.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
mlflow.langchain.autolog() # LangGraph uses LangChain's autolog
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/langgraph-tracing-demo")
@tool
def get_weather(city: str):
"""Get weather for a city."""
return f"It might be cloudy in {city}"
graph = create_react_agent(ChatOpenAI(model="gpt-4o-mini"), [get_weather])
graph.invoke({"messages": [("user", "What is the weather in SF?")]})
import mlflow
import anthropic
import os
mlflow.anthropic.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/anthropic-tracing-demo")
client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY"))
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}],
)
import mlflow
import os
from openai import OpenAI
# Databricks Foundation Model APIs use the OpenAI client
mlflow.openai.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/databricks-fmapi-tracing")
client = OpenAI(
api_key=os.environ.get("DATABRICKS_TOKEN"),
base_url=f"{os.environ.get('DATABRICKS_HOST')}/serving-endpoints",
)
response = client.chat.completions.create(
model="databricks-llama-4-maverick",
messages=[{"role": "user", "content": "Key features of MLflow?"}],
)
import mlflow
import dspy
mlflow.dspy.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/dspy-tracing-demo")
dspy.configure(lm=dspy.LM("openai/gpt-4o-mini"))
class SimpleSignature(dspy.Signature):
input_text: str = dspy.InputField()
output_text: str = dspy.OutputField()
result = dspy.Predict(SimpleSignature)(input_text="Summarize MLflow Tracing.")
import mlflow
import boto3
mlflow.bedrock.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/bedrock-tracing-demo")
bedrock = boto3.client(service_name="bedrock-runtime", region_name="us-east-1")
response = bedrock.converse(
modelId="anthropic.claude-3-5-sonnet-20241022-v2:0",
messages=[{"role": "user", "content": "Hello World."}],
)
import mlflow
from autogen import ConversableAgent
import os
mlflow.autogen.autolog()
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/autogen-tracing-demo")
config_list = [{"model": "gpt-4o-mini", "api_key": os.environ.get("OPENAI_API_KEY")}]
assistant = ConversableAgent("assistant", llm_config={"config_list": config_list})
user_proxy = ConversableAgent("user_proxy", human_input_mode="NEVER", code_execution_config=False)
user_proxy.initiate_chat(assistant, message="What is 2+2?")
Todas as integrações
Each page includes prerequisites, configuration options, and examples beyond the quickstart acima.
Provedores de LLM
Agent frameworks e orquestradores
Utilidades e outros
Desativar rastreamento automático
import mlflow
# Disable for a specific library
mlflow.openai.autolog(disable=True)
# Disable all autologging at once
mlflow.autolog(disable=True)
Recursos adicionais
- Rastreamento manual e personalizado — adicione intervalos personalizados quando o autolog não capturar o que você precisa
- Armazene rastreamentos do OpenTelemetry no Unity Catalog — armazenamento de rastreamento governado e consultável por SQL para produção
- Visualizar rastreamentos na interface do usuário do MLflow do Databricks — explore rastreamentos na interface do usuário do MLflow
- Monitoramento de produção — execute avaliadores em rastreamentos de produção para monitorar a qualidade do agente
Próximo passo: Rastreamento manual e personalizado














