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

MLflow Tracing 統合

MLflow Tracing は、幅広い人気のある生成AIのライブラリやフレームワークと統合されており、そのすべてに対して 1 行の自動トレース エクスペリエンスを提供します。これにより、最小限のセットアップでエージェントの可観測性を即座に得ることができます。

この幅広いサポートにより、既に使用しているツールを活用して、大幅なコード変更を行わなくても観測性を高めることができます。カスタム コンポーネントまたはサポートされていないライブラリの場合、 MLflow強力な手動トレースAPIs提供します。

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

注記

サーバレス コンピュート クラスタでは、生成 AI トレースフレームワークの自動ログは自動的に有効になりません。 トレースする特定の統合に対して適切な mlflow.<library>.autolog() 関数を呼び出して、自動ログを明示的に有効にする必要があります。

注記

このページのクイックスタート例は、Unity Catalogにトレースを保存するため、MLflow 3.14以降が必要です。

トップの統合の概要

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

Python
import mlflow
from mlflow.entities.trace_location import UnityCatalog
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(
experiment_name="/Shared/openai-tracing-demo",
trace_location=UnityCatalog(
catalog_name="<UC_CATALOG_NAME>",
schema_name="<UC_SCHEMA_NAME>",
table_prefix="<UC_TABLE_PREFIX>",
),
)

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統合ガイド

すべての統合を閲覧

モデルプロバイダー

    • AWS Bedrock
    • AWS Bedrock
    • Cohere
    • モデルプロバイダー
    • Databricks 基盤モデルAPI
    • Databricks 基盤モデル
    • DeepSeek
    • DeepSeek
    • Google Gemini
    • Google Gemini
    • Groq
    • Groq
    • Mistral
    • Mistral
    • Ollama
    • Ollama
    • OpenAI
    • OpenAI
    • Qwen
    • モデルプロバイダー

Agent & App Frameworks

    • Agno
    • エージェントフレームワーク
    • AutoGen
    • マルチエージェントフレームワーク
    • CrewAI
    • エージェントフレームワーク
    • DSPy
    • 最適化フレームワーク
    • Google ADK
    • エージェントフレームワーク
    • Haystack
    • エージェントフレームワーク
    • Koog
    • エージェントフレームワーク
    • LangChain
    • エージェントフレームワーク
    • LangGraph
    • エージェントフレームワーク
    • LlamaIndex
    • データフレームワーク
    • Mastra
    • TypeScript エージェントフレームワーク
    • OpenAI エージェント
    • エージェントフレームワーク
    • Pipecat
    • 音声エージェントフレームワーク
    • PydanticAI
    • エージェントフレームワーク
    • Semantic Kernel
    • マルチ言語フレームワーク
    • Smolagents
    • エージェントフレームワーク
    • Strands
    • エージェントフレームワーク
    • Swarm
    • エージェントフレームワーク
    • TxtAI
    • セマンティック検索フレームワーク
    • VoltAgent
    • TypeScript エージェントフレームワーク

コーディングエージェント & 長期実行エージェント

    • Codex CLI
    • コーディングエージェント
    • Omnigent
    • コーディングエージェント
    • OpenCode
    • コーディングエージェント
    • OpenHands
    • コーディングエージェント
    • Qwen Code
    • コーディングエージェント

ゲートウェイ

可観測性とツール

    • Instructor
    • 構造化出力ライブラリ
    • Langfuse
    • 観測可能性プラットフォーム
    • LiteLLM
    • LLM 抽象化ライブラリ
    • OpenTelemetry
    • 可観測性標準

ノーコード プラットフォーム

    • Langflow
    • ビジュアルワークフロービルダー
    • n8n
    • ワークフロー自動化プラットフォーム
    • Open WebUI
    • チャットインターフェイスプラットフォーム

安全なAPIキー管理

本番運用環境の場合、Databricks AIGateway または シークレットを使用してDatabricks APIキーを管理することをお勧めします。AI Gateway は推奨される方法であり、追加のガバナンス機能を提供します。

警告

API キーをコードやノートブックに直接コミットしないでください。機密性の高い資格情報には、常に AI Gateway または Databricks のシークレットを使用してください。

Databricks 、生成AIモデルへのアクセスを管理および監視するためにAI Gatewayを推奨しています。

AI Gateway で構成された基盤モデル エンドポイントを作成します。

  1. Databricks ワークスペースで、「 サービス提供 」> 「新しいエンドポイントの作成 」に移動します。
  2. エンドポイントのタイプとプロバイダーを選択します。
  3. API キーを使用してエンドポイントを構成します。
  4. エンドポイントの設定時に、 AI Gateway を有効にし、必要に応じてレート制限、フォールバック、ガードレールを設定します。
  5. 自動生成されたコードを取得して、エンドポイントのクエリをすばやく開始できます。エンドポイント> Serving > Query > に移動します トレース コードを必ず追加してください。
Python
import mlflow
from mlflow.entities.trace_location import UnityCatalog
from openai import OpenAI
import os

# How to get your Databricks token: https://docs.databricks.com/en/dev-tools/auth/pat.html
# DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
# Alternatively in a Databricks notebook you can use this:
DATABRICKS_TOKEN = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()

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

# Set up MLflow tracking (if running outside Databricks)
# If running in a Databricks notebook, these are not needed.
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment(
experiment_name="/Shared/my-genai-app",
trace_location=UnityCatalog(
catalog_name="<UC_CATALOG_NAME>",
schema_name="<UC_SCHEMA_NAME>",
table_prefix="<UC_TABLE_PREFIX>",
),
)

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="<YOUR_HOST_URL>/serving-endpoints"
)

chat_completion = client.chat.completions.create(
messages=[
{
"role": "system",
"content": "You are an AI assistant"
},
{
"role": "user",
"content": "What is MLflow?"
}
],
model="<YOUR_ENDPOINT_NAME>",
max_tokens=256
)

print(chat_completion.choices[0].message.content)

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

エージェントは複数のライブラリを組み合わせることが多いため、 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)