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

Databricksにデプロイされたエージェントのトレース

このページでは、本番運用トレースが自動的にキャプチャされるように、 Databricksに GenAI アプリケーションをデプロイする方法を示します。

Databricks の外部にデプロイされたアプリについては、 「Databricks の外部にデプロイされたトレース エージェント」を参照してください。

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

MLflow 本番運用トレースの概要

Agent Framework を使用したデプロイ (推奨)

Mosaic AI Agent Frameworkを使用して GenAI アプリケーションをデプロイすると、追加の構成なしで MLflow Tracing が自動的に機能します。トレースはエージェントのMLflowエクスペリメントに保存されます。

トレースの保存場所を設定します。

  1. 本番運用 モニタリングを使用してトレースをDeltaテーブルに保存する場合は、ワークスペースで有効になっていることを確認してください。
  2. アプリの本番運用トレースを格納するためのMLflowエクスペリメントを作成します

次に、 Python ノートブックで、 MLflow Tracingを使用してエージェントをインストルメント化し、エージェントフレームワークを使用してエージェントをデプロイします。

  1. Python 環境にmlflow[databricks]の最新バージョンをインストールします。
  2. mlflow.set_experiment(...)を使用してMLflowエクスペリメントに接続します。
  3. MLflow ResponsesAgentを使用してエージェント コードをラップします。エージェント コードで、自動または手動のインストルメンテーションを使用してMLflow Tracing有効にします。
  4. エージェントを MLflow モデルとしてログに記録し、Unity Catalogに登録します。
  5. mlflowがモデルの Python 依存関係にあり、ノートブック環境で使用されているのと同じパッケージ バージョンであることを確認します。
  6. agents.deploy(...) を使用して、Unity Catalog モデル (エージェント) をモデルサービング エンドポイントにデプロイします。
注記

Databricks Gitフォルダーに保存されているノートブックからエージェントをデプロイしている場合、 MLflow 3 臨時トレースは当然機能しません。

嘔吐トレースを有効にするには、 agents.deploy()実行する前に、 mlflow.set_experiment()を使用してエクスペリメントをGitに関連付けられていないエクスペリメントに設定します。

このノートブックでは、上記の展開ステップを示します。

Agent Framework と MLflow Tracing ノートブック

Open notebook in new tab

カスタム CPU サービングを使用してデプロイする (代替)

Agent Framework を使用できない場合は、代わりにカスタム CPU モデルサービングを使用してエージェントをデプロイします。

まず、トレースの保存場所を設定します。

  1. 本番運用 モニタリングを使用してトレースをDeltaテーブルに保存する場合は、ワークスペースで有効になっていることを確認してください。
  2. アプリの本番運用トレースを格納するためのMLflowエクスペリメントを作成します

次に、 Python ノートブックで、 MLflow Tracingを使用してエージェントを計測可能にし、モデルサービング UI または API を使用してエージェントをデプロイします。

  1. 自動または手動のトレース インストルメンテーションを使用して、エージェントを MLflow モデルとしてログに記録します。
  2. モデルを CPU サービスにデプロイします。
  3. MLflowエクスペリメントへのCAN_EDITアクセスを持つサービスプリンシパルまたはパーソナル アクセストークン(PAT)を提供します。
  4. CPU サービング エンドポイント ページで、[エンドポイントの編集] に移動します。トレースするデプロイされたモデルごとに、次の環境変数を追加します。
  5. ENABLE_MLFLOW_TRACING=true
  6. MLFLOW_EXPERIMENT_ID=<ID of the experiment you created>
  7. サービスプリンシパルをプロビジョニングする場合は、 DATABRICKS_CLIENT_IDDATABRICKS_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 対応の推論テーブルを使用してトレースを保存することもできます。ただし、トレース サイズと同期遅延の制限に注意してください。

次のステップ