Databricksにデプロイされたエージェントのトレース
このページでは、本番運用トレースが自動的にキャプチャされるように、 Databricksに GenAI アプリケーションをデプロイする方法を示します。
Databricks の外部にデプロイされたアプリについては、 「Databricks の外部にデプロイされたトレース エージェント」を参照してください。
Mosaic AI Agent Framework (推奨) またはカスタム CPU モデルサービングを使用して、GenAI アプリケーションをDatabricksにデプロイできます。 選択したデプロイメント方法に関係なく、トレースはMLflowエクスペリメントに記録され、随時表示されます。 オプションで、耐久性のあるストレージと自動品質評価のための本番運用モニタリングを使用して、トレースをDeltaテーブルに長期保存できます。

Agent Framework を使用したデプロイ (推奨)
Mosaic AI Agent Frameworkを使用して GenAI アプリケーションをデプロイすると、追加の構成なしで MLflow Tracing が自動的に機能します。トレースはエージェントのMLflowエクスペリメントに保存されます。
トレースの保存場所を設定します。
- 本番運用 モニタリングを使用してトレースをDeltaテーブルに保存する場合は、ワークスペースで有効になっていることを確認してください。
- アプリの本番運用トレースを格納するためのMLflowエクスペリメントを作成します。
次に、 Python ノートブックで、 MLflow Tracingを使用してエージェントをインストルメント化し、エージェントフレームワークを使用してエージェントをデプロイします。
- Python 環境に
mlflow[databricks]の最新バージョンをインストールします。 mlflow.set_experiment(...)を使用してMLflowエクスペリメントに接続します。- MLflow
ResponsesAgentを使用してエージェント コードをラップします。エージェント コードで、自動または手動のインストルメンテーションを使用してMLflow Tracing有効にします。 - エージェントを MLflow モデルとしてログに記録し、Unity Catalogに登録します。
mlflowがモデルの Python 依存関係にあり、ノートブック環境で使用されているのと同じパッケージ バージョンであることを確認します。agents.deploy(...)を使用して、Unity Catalog モデル (エージェント) をモデルサービング エンドポイントにデプロイします。
Databricks Gitフォルダーに保存されているノートブックからエージェントをデプロイしている場合、 MLflow 3 臨時トレースは当然機能しません。
嘔吐トレースを有効にするには、 agents.deploy()実行する前に、 mlflow.set_experiment()を使用してエクスペリメントをGitに関連付けられていないエクスペリメントに設定します。
このノートブックでは、上記の展開ステップを示します。
Agent Framework と MLflow Tracing ノートブック
カスタム CPU サービングを使用してデプロイする (代替)
Agent Framework を使用できない場合は、代わりにカスタム CPU モデルサービングを使用してエージェントをデプロイします。
まず、トレースの保存場所を設定します。
- 本番運用 モニタリングを使用してトレースをDeltaテーブルに保存する場合は、ワークスペースで有効になっていることを確認してください。
- アプリの本番運用トレースを格納するためのMLflowエクスペリメントを作成します。
次に、 Python ノートブックで、 MLflow Tracingを使用してエージェントを計測可能にし、モデルサービング UI または API を使用してエージェントをデプロイします。
- 自動または手動のトレース インストルメンテーションを使用して、エージェントを MLflow モデルとしてログに記録します。
- モデルを CPU サービスにデプロイします。
- MLflowエクスペリメントへの
CAN_EDITアクセスを持つサービスプリンシパルまたはパーソナル アクセストークン(PAT)を提供します。 - CPU サービング エンドポイント ページで、[エンドポイントの編集] に移動します。トレースするデプロイされたモデルごとに、次の環境変数を追加します。
ENABLE_MLFLOW_TRACING=trueMLFLOW_EXPERIMENT_ID=<ID of the experiment you created>- サービスプリンシパルをプロビジョニングする場合は、
DATABRICKS_CLIENT_IDとDATABRICKS_CLIENT_SECRETを設定します。 PAT をプロビジョニングした場合は、DATABRICKS_HOSTを設定し、DATABRICKS_TOKENを設定します。
トレース保存
Databricks 、デプロイ中にmlflow.set_experiment(...)で設定したMLflowエクスペリメントにトレースを記録します。 トレースは MLflow UI でリアルタイムに表示できます。
トレースはアーティファクトとして保存され、カスタムの保存場所を指定できます。たとえば、 artifact_location Unity Catalogボリュームに設定してワークスペース エクスペリメントを作成した場合、トレース データ アクセスはUnity Catalogボリューム権限によって管理されます。
本番運用モニタリングでトレースを長期保存する
トレースがMLflowエクスペリメントに記録された後、オプションで本番運用モニタリング(ベータ版) を使用して、トレースをDeltaテーブルに長期保存できます。
トレース ストレージに対する本番運用モニタリングの利点:
- 耐久性のあるストレージ : MLflowエクスペリメント アーティファクトのライフサイクルを超えて長期保存するために、トレースをDeltaテーブルに保存します。
- トレース サイズの制限なし : 代替のストレージ方法とは異なり、本番運用モニタリングはあらゆるサイズのトレースを処理します。
- 自動品質評価 :本番運用トレース上の実行MLflowスコアラーにより、アプリケーションの品質を継続的に監視します。
- 高速同期 : トレースは約 15 分ごとに Delta テーブルに同期されます。
あるいは、 AI Gateway 対応の推論テーブルを使用してトレースを保存することもできます。ただし、トレース サイズと同期遅延の制限に注意してください。
次のステップ
- Databricks MLflow UI でトレースを表示する- MLflow UI でトレースを表示します。
- 本番運用モニタリング- 長期保存のためにトレースをDeltaテーブルに保存し、スコアラーで自動的に評価します。
- トレースにコンテキストを追加- リクエスト追跡、ユーザー セッション、環境データのメタデータを添付します。