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

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

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

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

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

トレースを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のトレースロケーションによってサポートされるエクスペリメントにアプリを向けます。以下のいずれかの方法でエクスペリメントを設定します:

  1. Databricks AppsリソースとしてUnity Catalogでバックアップされたエクスペリメントを追加し、それを参照するようにMLFLOW_EXPERIMENT_ID 環境変数を設定します。
  2. アプリ構成でリソースを宣言するか、ワークスペースの 「アプリリソース」 UIから追加します。
  3. エクスペリメントにアプリの ID CAN_EDIT を付与します。

完全なオーサリングおよびデプロイのチュートリアルについては、エージェントを作成してDatabricks Appsにデプロイするを参照してください。

Model Serving へのデプロイ(代替)

また、Model Serving Endpoint にエージェントをデプロイすることもできます。MLflow Tracingは自動的に機能し、トレースはエージェントのMLflowエクスペリメントに保存されます。デプロイする前に、Unity Catalog のトレースロケーションでエクスペリメントを作成してください。

agents.deploy(...)を使用して、Model Serving上のカスタムエージェントでデプロイします。これにより、認証、レビューアプリ、リアルタイムトレース、およびENABLE_MLFLOW_TRACINGMLFLOW_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へのカスタムエージェントのデプロイ

その他のリソース