始めよう:ローカルIDEでのGenAI向けMLflow Tracing
このクイックスタートガイドは、IDE(VS Code、PyCharm、Cursorなど)やJupyterなどのローカルでホストされたノートブック環境といったローカル開発環境を使用している場合に、GenAIアプリをMLflow Tracingと統合するのに役立ちます。Databricksノートブックを使用している場合は、代わりにDatabricksノートブックのクイックスタートを参照してください。
このチュートリアルでは、以下の手順を説明します。
- 生成AI アプリのMLflowエクスペリメント
- MLflow に接続されたローカル開発環境
- MLflow Tracing でインストルメント化されたシンプルな 生成AI アプリケーション
- MLflowエクスペリメント内のそのアプリからのトレース

前提 条件
- Databricksワークスペースへのアクセス。
手順 1: MLflow をインストールする
Databricksとの接続機能を備えたMLflowをインストールします。
pip install --upgrade "mlflow[databricks]>=3.1" openai
ステップ 2: 新しいMLflowエクスペリメントを作成する
MLflowエクスペリメントは、GenAI アプリケーションのコンテナです。 詳細については、 「体験」を参照してください。
- Databricksのワークスペースを開きます。
- 左側のサイドバーの AI / ML の下にある [エクスペリメント] をクリックします。
- エクスペリメント ページの上部にある GenAIアプリとエージェント をクリックします。
- エクスペリメント ID とパスを取得するには、情報アイコンをクリックします。
左上。 これらの値は後のステップで使用します。

手順 3: 環境を MLflow に接続する
以下のコードスニペットは、Databricksのパーソナルアクセストークン(PAT)を使用して認証を設定する方法を示しています。MLflowは、 Databricksがサポートする他の認証方法とも連携します。
- Use environment variables
- Use a .env file
-
MLflowエクスペリメントで、ケバブ メニュー アイコンをクリックします。
> ログトレースをローカルに記録する > APIキーを生成する 。
-
生成されたコードをコピーしてターミナルで実行します。
Bashexport DATABRICKS_TOKEN=<databricks-personal-access-token>
export DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
export MLFLOW_TRACKING_URI=databricks
export MLFLOW_REGISTRY_URI=databricks-uc
export MLFLOW_EXPERIMENT_ID=<experiment-id>
-
MLflowエクスペリメントで、ケバブ メニュー アイコンをクリックします。
> ログトレースをローカルに記録する > APIキーを生成する 。
-
生成されたコードをプロジェクトルートにある
.envファイルにコピーしてください。BashDATABRICKS_TOKEN=<databricks-personal-access-token>
DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
MLFLOW_TRACKING_URI=databricks
MLFLOW_REGISTRY_URI=databricks-uc
MLFLOW_EXPERIMENT_ID=<experiment-id> -
python-dotenvパッケージをインストールします。Bashpip install python-dotenv -
コード内で環境変数を読み込む:
Python# At the beginning of your Python script
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
ステップ 4: アプリケーションを作成して計測可能にする
トレースを有効にして 生成AI アプリを作成します。
-
プロジェクトディレクトリに
app.pyという名前のPythonファイルを作成します。 -
OpenAI クライアントを初期化して、Databricks でホストされている LLM または OpenAI でホストされている LLM に接続します。
- Databricks-hosted LLMs
- OpenAI-hosted LLMs
databricks-openaiを使用して、Databricks がホストする LLM に接続する OpenAI クライアントを取得します。利用可能なプラットフォームモデルからモデルを選択します。
import mlflow
from databricks_openai import DatabricksOpenAI
# Enable MLflow's autologging to instrument your application with Tracing
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/docs-demo")
# Create an OpenAI client that is connected to Databricks-hosted LLMs
client = DatabricksOpenAI()
# Select an LLM
model_name = "databricks-claude-sonnet-4"
ネイティブの OpenAI SDK を使用して、OpenAI でホストされるモデルに接続します。利用可能なOpenAIモデルからモデルを選択します。
import mlflow
import os
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 auto-tracing for OpenAI
mlflow.openai.autolog()
# Set up MLflow tracking to Databricks
mlflow.set_tracking_uri("databricks")
mlflow.set_experiment("/Shared/docs-demo")
# Create an OpenAI client connected to OpenAI SDKs
client = openai.OpenAI()
# Select an LLM
model_name = "gpt-4o-mini"
-
アプリケーションを定義して実行します。
@mlflow.traceデコレータを使用すると、任意の Python 関数を簡単にトレースでき、 OpenAI 自動インストルメンテーションと組み合わせて、OpenAI SDK への呼び出しの詳細をキャプチャできます。Python# 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(
# Uses a Databricks-hosted LLM by default. To use an AI Gateway, Model Serving endpoint, or your own OpenAI credentials, replace `model_name` with a valid model such as `gpt-4o`.
model=model_name,
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) -
アプリケーションを実行します:
Bashpython app.py
アプリにトレースを追加する方法の詳細については、 「アプリケーションへのトレースの追加:自動トレースと手動トレース」およびMLflow Tracing統合(20 以上の 統合)」を参照してください。
ステップ 5: MLflowでトレースを表示する
- MLflowエクスペリメント UI に戻ります。
- 生成されたトレースは「 トレース」 タブに表示されます。
- トレースをクリックすると詳細が表示されます。

トレースを理解する
新しいトレース結果は以下の通り。
-
ルートスパン :
my_app(...)関数への入力を表します- 子スパン : OpenAI完了リクエストを表す
-
属性 : モデル名、トークン数、タイミング情報などのメタデータが含まれます
-
入力 : モデルに送信されたメッセージ
-
出力 : モデルから受信した応答
この最小限のトレースでも、アプリケーションの動作に関する有用な情報が得られます。例えば、以下のような情報です。
- 質問されたこと
- どのようなレスポンスが生成されたか
- リクエストにかかった時間
- 使用されたトークンの数 (コストに影響)
RAGシステムやマルチステップエージェントのようなより複雑なアプリケーションの場合、 MLflow Tracing は各コンポーネントとステップの内部動作を明らかにすることで、さらに多くの価値を提供します。
ガイドとリファレンス
このガイドの概念と機能の詳細については、以下を参照してください。
- MLflow Tracing - GenAI の可観測性— MLflow Tracingについて詳しく学ぶには、ここから始めてください。
- MLflow Tracing統合— 自動トレース統合を備えた 20 を超えるライブラリ。
- トレースの概念— MLflow Tracingの基本を理解する。