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

はじめに: GenAI のMLflow Tracing ( Databricksノートブック)

このクイックスタートは、開発環境として ノートブックを使用する場合に、生成AI アプリをMLflow Tracing Databricksと統合するのに役立ちます。ローカル IDE を使用している場合は、代わりに IDE クイックスタート を使用してください。

達成できること

このチュートリアルを終了すると、次のことができるようになります。

  • 生成AIアプリ用のMLflowエクスペリメントがリンクされたDatabricksノートブック
  • MLflow Tracing でインストルメント化されたシンプルな 生成AI アプリケーション
  • MLflowエクスペリメント内のそのアプリからのトレース

trace

前提 条件

ステップ 1: MLflowを更新する

最高の GenAI エクスペリエンスを得るには、MLflow を最新バージョンに更新してください。

Python
%pip install --upgrade "mlflow[databricks]>=3.1" openai
dbutils.library.restartPython()

ステップ 2: アプリケーションをインストルメント化する

以下のコード スニペットは、LLM を使用して文テンプレートを完成させる単純な GenAI アプリを定義します。

  1. OpenAI クライアントを初期化して、Databricks がホストする LLM または OpenAI がホストする LLM に接続します。

以下のコード スニペットでは、OpenAI クライアントを使用して、Databricks がホストする LLM に接続します。アプリはAnthropicの Claude Sonnet LLM使用しますが、利用可能な基盤モデルから選択することもできます。

Python
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"
  1. アプリケーションを定義して実行します。

    @mlflow.traceデコレータを使用すると、任意の Python 関数を簡単にトレースでき、 OpenAI 自動インストルメンテーションと組み合わせて、OpenAI SDK への呼び出しの詳細をキャプチャできます。

    Python
    import 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)

アプリにトレースを追加する方法の詳細については、トレース インストルメンテーション ガイド20 を超えるライブラリ統合を参照してください。

ステップ 3: MLflowでトレースを表示する

トレースはノートブックのセルの下に表示されます。

ノートブックのトレース UI

オプションとして、 MLflowエクスペリメントUIにアクセスしてトレースを表示することもできます。

  1. 体験アイコンをクリックします体験アイコン。右側のサイドバーにあります。
  2. 開くアイコンをクリックします新しいウィンドウのアイコン。体験実行の隣にあります。
  3. 生成されたトレースが [トレース] タブに表示されます。
  4. トレースをクリックして、その詳細を表示します。

痕跡を理解する

作成したトレースには、次の情報が表示されます。

  • ルートスパン : my_app(...)関数への入力を表します

    • 子スパン : OpenAI完了リクエストを表す
  • 属性 : モデル名、トークン数、タイミング情報などのメタデータが含まれます

  • 入力 : モデルに送信されたメッセージ

  • 出力 : モデルから受信した応答

この単純なトレースは、次のようなアプリケーションの動作に関する貴重な知見をすでに提供しています。

  • 質問されたこと
  • どのようなレスポンスが生成されたか
  • リクエストにかかった時間
  • 使用されたトークンの数 (コストに影響)

RAGシステムやマルチステップエージェントのようなより複雑なアプリケーションの場合、 MLflow Tracing は各コンポーネントとステップの内部動作を明らかにすることで、さらに多くの価値を提供します。

ガイドと参考資料

このガイドの概念と機能の詳細については、以下を参照してください。