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

はじめよう: 生成AI 向けMLflow Tracing (ローカル IDE)

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

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

  • 生成AI アプリのMLflowエクスペリメント
  • MLflow に接続されたローカル開発環境
  • MLflow Tracing でインストルメント化されたシンプルな 生成AI アプリケーション
  • MLflowエクスペリメント内のそのアプリからのトレース

trace

前提 条件

  • Databricks Workspace : Databricksワークスペースへのアクセス。

手順 1: MLflow をインストールする

ローカル IDE で作業する場合は、Databricks 接続を使用して MLflow をインストールする必要があります。

Bash
pip install --upgrade "mlflow[databricks]>=3.1" openai

ステップ 2: 新しいMLflowエクスペリメントを作成する

MLflowエクスペリメントは、生成AI アプリケーションのコンテナです。 エクスペリメントの詳細については、概念セクションをご覧ください。

  1. Databricks ワークスペースを開く
  2. 左側のサイドバーの AI / ML の下にある [エクスペリメント] をクリックします。
  3. エクスペリメント ページの上部で、 GenAI アプリとエージェント をクリックします。
  4. 情報アイコンをクリックしてエクスペリメント ID とパスを取得します。情報アイコン。左上にあります。 これらは後で使用します。

エクスペリメントを作成

手順 3: 環境を MLflow に接続する

以下のコード スニペットは、 Databricksパーソナルアクセストークンを使用して認証を設定する方法を示しています。 MLflow は、Databricks がサポートする他の認証方法でも動作します。

  1. MLflowエクスペリメントで、Kebab メニュー アイコンをクリックします。ケバブメニューアイコン。 > トレースをローカルに記録 > APIキーの生成 をクリックします。

  2. 生成されたコードをコピーしてターミナルで実行します。

    Bash
    export 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>

ステップ 4: アプリケーションを作成して計測可能にする

トレースを有効にして 生成AI アプリを作成します。

  1. プロジェクトディレクトリに app.py という名前のPythonファイルを作成します。

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

databricks-openaiを使用して、Databricks がホストする LLM に接続する OpenAI クライアントを取得します。利用可能なプラットフォームモデルからモデルを選択します。

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

    @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(
    model=model_name, # This example uses a Databricks hosted LLM - you can replace this with any AI Gateway or Model Serving endpoint. If you provide your own OpenAI credentials, replace with a valid OpenAI model e.g., gpt-4o, etc.
    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)
  2. アプリケーションを実行する

    Bash
    python app.py

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

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

  1. MLflowエクスペリメント UI に戻ります。
  2. 生成されたトレースが 「トレース」 タブに表示されます。
  3. トレースをクリックすると詳細が表示されます。

トレースの詳細

トレースを理解する

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

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

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

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

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

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

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

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

ガイドとリファレンス

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