Databricksにデプロイされたエージェントのトレース
本番運用トレースが自動的にキャプチャされるように、DatabricksにAIアプリをデプロイします。DatabricksはDatabricks Appsのカスタムエージェントによるデプロイを推奨しています。また、Model Servingにデプロイすることもできます。どのデプロイ方法を選択しても、Databricksはリアルタイム表示のためにMLflowエクスペリメントにトレースをLogs。
Databricks の外部にデプロイされたアプリについては、 「Databricks の外部にデプロイされたトレース エージェント」を参照してください。

トレースをUnity Catalogに保存する
すべてのトレースはMLflowエクスペリメントに記録され、これはMLflow UIでトレースを表示するための常にエントリポイントとなります。異なるのは、エクスペリメントを支えるストレージロケーションです。次の2つの選択肢があります。
- Unity Catalog ストレージ (本番運用に推奨): エクスペリメントを Unity Catalog のトレースロケーションにバインドして、トレースが Unity Catalog の Delta テーブルに格納されるようにします。デプロイする前に、セットアップが必要です。その結果、エクスペリメントごとの制限なしに、大量のトレースの長期間の保持が可能です。トレースはUnity Catalogのカタログ、スキーマ、およびテーブルの権限によって管理されており、Databricks SQL warehouse を介してSQLで直接クエリーできます。
- エクスペリメントベースのストレージ (default): トレースの場所を設定しない場合、トレースはエクスペリメントアーティファクトとして保存されます。これは開発には便利ですが、エクスペリメントごとのトレース制限があり、大量の本番運用トレースのクエリには最適化されていません。
OpenTelemetry トレースをUnity Catalogに保存の完全な設定、前提条件、および権限を参照してください。
Databricks Appsでのカスタムエージェントによるデプロイ(推奨)
Databricks は、Databricks Apps のカスタム エージェントを使用した AI アプリのデプロイを推奨しています。MLflow Tracing は自動的に機能し、追加のインストルメンテーションは必要ありません。
defaultでは、トレースはアプリの MLflow エクスペリメントにアーティファクトとして格納されます。本番運用では、Unity Catalogにトレースを保存に記載されているように、Unity Catalogのトレースロケーションによってサポートされるエクスペリメントにアプリを向けます。以下のいずれかの方法でエクスペリメントを設定します:
- Declare an experiment resource
- Set the experiment in agent code
- Databricks AppsリソースとしてUnity Catalogでバックアップされたエクスペリメントを追加し、それを参照するように
MLFLOW_EXPERIMENT_ID環境変数を設定します。 - アプリ構成でリソースを宣言するか、ワークスペースの 「アプリリソース」 UIから追加します。
- エクスペリメントにアプリの ID
CAN_EDITを付与します。
-
エージェントコードで
mlflow.set_experiment()を呼び出してください:Pythonimport os
import mlflow
mlflow.set_experiment(experiment_id=os.environ["MLFLOW_EXPERIMENT_ID"]) -
Databricks Gitフォルダーからデプロイする場合は、Gitに関連付けられていないエクスペリメントを指定してください。それ以外の場合、リアルタイムトレースは機能しません。
完全なオーサリングおよびデプロイのチュートリアルについては、エージェントを作成してDatabricks Appsにデプロイするを参照してください。
Model Serving へのデプロイ(代替)
また、Model Serving Endpoint にエージェントをデプロイすることもできます。MLflow Tracingは自動的に機能し、トレースはエージェントのMLflowエクスペリメントに保存されます。デプロイする前に、Unity Catalog のトレースロケーションでエクスペリメントを作成してください。
agents.deploy(...)を使用して、Model Serving上のカスタムエージェントでデプロイします。これにより、認証、レビューアプリ、リアルタイムトレース、およびENABLE_MLFLOW_TRACINGとMLFLOW_EXPERIMENT_IDの環境変数を含む、エージェントに最適化されたEndpointがプロビジョニングされます。詳細な手順については、Model Servingでエージェントを作成してデプロイするを参照してください。
agents.deploy(...)を使用せずにモデルをサービングEndpointに手動でデプロイする場合、EndpointがUnity Catalogにトレースを書き込むための追加の認証情報を設定する必要があります。必要なセットアップについては、OpenTelemetryトレースをUnity Catalogに保存するを参照してください。
Databricks Gitフォルダーに保存されているノートブックからエージェントをデプロイしている場合、MLflow 3 リアルタイムトレースはdefaultでは機能しません。リアルタイムトレースを有効にするには、agents.deploy()を実行する前に、mlflow.set_experiment()を使用してエクスペリメントをGitに関連付けられていないエクスペリメントに設定します。
MLflow Tracingを使用したModel Servingへのカスタムエージェントのデプロイ
その他のリソース
- Databricks MLflow UI でトレースを表示する- MLflow UI でトレースを表示します。
- OpenTelemetry トレースをUnity Catalogに保存:ガバナンスされたDelta テーブルに本番運用トレースを保存して、長期的な保持と分析を行います。
- 本番運用モニタリング - アプリケーションの品質をモニタリングするために、本番運用トレースでスコアラーをランします。
- トレースにコンテキストを追加- リクエスト追跡、ユーザー セッション、環境データのメタデータを添付します。