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

生成AI アプリのトレース (ノートブック)

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

達成できること

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

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

trace

前提 条件

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

手順 1: Databricks ノートブックを作成する

注記

Databricks ノートブックを作成すると、生成AI アプリケーションのコンテナーである MLflow エクスペリメントが作成されます。エクスペリメントとその内容の詳細については、 データ モデルの セクションを参照してください。

  1. Databricks ワークスペースを開く
  2. 左側のサイドバーの上部にある[ 新規 ]に移動します
  3. [ノートブック] をクリックします

ノートブックの作成

手順 2: 最新バージョンの MLflow をインストールする (推奨)

Databricks ランタイムには MLflow が含まれます。ただし、最も包括的なトレース機能や堅牢なサポートなど、生成AI 機能を最大限に活用するには、最新バージョンの MLflow を使用することを強くお勧めします。

ノートブックの MLflow を更新するには、次のコマンドを実行します。

Python
%pip install --upgrade "mlflow[databricks]>=3.1" openai
dbutils.library.restartPython()
  • mlflow[databricks]>=3.1 : このコマンドにより、MLflow 3.1 以降のバージョンと、Databricks 内のシームレスな接続と機能のための databricks 追加機能があることを確認します。
  • dbutils.library.restartPython() : これは、新しくインストールされたバージョンが Python カーネルによって使用されるようにするために重要です。
警告

MLflow バージョンの推奨事項

MLflow 2.15.0+ ではトレース機能を使用できますが、拡張されたトレース機能や堅牢なサポートなど、最新の 生成AI 機能を利用するには、 MLflow 3 ( mlflow[databricks]を使用している場合は 3.1 以降) をインストールすることを強くお勧めします

ステップ 3: アプリケーションを計測可能にする

Databricks は、一般的なフロンティアおよびオープンソース財団の LLM にすぐにアクセスできます。このクイックスタートを実行するには、次のモデル ホスティング オプションから選択できます。

ノートブックのセルで次のコードを実行します。@mlflow.traceデコレータOpenAI自動インストルメンテーションを組み合わせて、LLMリクエストの詳細をキャプチャします。

MLflow を使用して、Databricks でホストされている LLM に接続する OpenAI クライアントを取得します。以下のコード スニペットでは、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()

# 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(
# Replace this model name with any Databricks-hosted LLM, AI Gateway, or Model Serving endpoint name.
model="databricks-claude-sonnet-4",
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)

手順 4: MLflow でトレースを表示する

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

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

必要に応じて、 MLflow エクスペリメント UI に移動して Trace を確認できます。

  1. 画面の右側にあるエクスペリメントアイコンをクリックします。
  2. エクスペリメント 実行 の横にある開くアイコンをクリックします。
  3. 生成されたトレースが [トレース] タブに表示されます。
  4. トレースをクリックして、その詳細を表示します。

トレースの理解

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

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

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

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

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

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

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

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

次のステップ

これらの推奨アクションとチュートリアルで旅を続けてください。

リファレンスガイド

このガイドで説明されている概念と機能の詳細なドキュメントをご覧ください。