メインコンテンツまでスキップ

MLflow Tracing 統合

MLflow Tracing は、さまざまな一般的な生成AI ライブラリやフレームワークと統合されており、それらすべてに対して 1 行の自動トレース エクスペリエンスを提供します。 これにより、最小限のセットアップで生成AIアプリケーションの可観測性を即座に得ることができます。

自動トレースは、特定のライブラリまたは SDK の実装に基づいて、アプリケーションのロジックと中間ステップ (LLM 呼び出し、ツールの使用、エージェントの対話など) をキャプチャします。

自動トレースの仕組み、前提条件、および手動トレースとの組み合わせ例については、メインの自動 トレース ガイドを参照してください。以下の簡単な例は、いくつかの主要な統合を示しています。サポートされている各ライブラリの詳細なガイドは、前提条件、高度な例、および特定の動作をカバーしており、このセクションのそれぞれのページで入手できます。

トップの統合の概要

ここでは、最も一般的に使用される統合のクイックスタートの例を示します。タブをクリックすると、基本的な使用例が表示されます。それぞれの詳細な前提条件とより高度なシナリオについては、専用の統合ページ (以下のタブまたは一覧からリンクされています) を参照してください。

Python
import mlflow
import openai

# If running this code outside of a Databricks notebook (e.g., locally),
# uncomment and set the following environment variables to point to your Databricks workspace:
# import os
# os.environ["DATABRICKS_HOST"] = "https://your-workspace.cloud.databricks.com"
# os.environ["DATABRICKS_TOKEN"] = "your-personal-access-token"

# Enable auto-tracing for OpenAI
mlflow.openai.autolog()

# Set up MLflow tracking
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/openai-tracing-demo")

openai_client = openai.OpenAI()

messages = [
{
"role": "user",
"content": "What is the capital of France?",
}
]

response = openai_client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
temperature=0.1,
max_tokens=100,
)
# View trace in MLflow UI

OpenAI統合ガイド

複数の自動トレース統合の有効化

生成AIアプリケーションは複数のライブラリを組み合わせることが多いため、 MLflow Tracing では複数の統合に対して同時に自動トレースを有効にし、統一されたトレースエクスペリエンスを提供できます。

たとえば、LangChain と直接 OpenAI トレースの両方を有効にするには、次のようにします。

Python
import mlflow

# Enable MLflow Tracing for both LangChain and OpenAI
mlflow.langchain.autolog()
mlflow.openai.autolog()

# Your code using both LangChain and OpenAI directly...
# ... an example can be found on the Automatic Tracing page ...

MLflow は、LangChain と直接 OpenAI LLM 呼び出しの両方のステップを組み合わせた 1 つのまとまりのあるトレースを生成するため、フロー全体を検査できます。統合の組み合わせのその他の例については、 自動トレース のページを参照してください。

自動トレースの無効化

特定のライブラリの自動トレースを無効にするには、 mlflow.<library>.autolog(disable=True).すべての自動ログ統合を一度に無効にするには、 mlflow.autolog(disable=True)を使用します。

Python
import mlflow

# Disable for a specific library
mlflow.openai.autolog(disable=True)

# Disable all autologging
mlflow.autolog(disable=True)