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

エージェント推論テーブル:リクエストログと評価ログ(非推奨)

備考

新しいユースケースの場合、Databricksは、エージェントのコード、サーバー設定、およびデプロイワークフローを完全に制御するために、Databricks Appsへのエージェントのデプロイを推奨しています。AIエージェントを作成してDatabricks Appsにデプロイするを参照してください。既存のエージェントを移行するには、Model ServingからDatabricks Appsにエージェントを移行するを参照してください。

重要

非推奨のお知らせ : 2025年12月4日をもって、Databricksはpayload_request_logsおよびpayload_assessment_logsテーブルへの自動投入を行いません。これらのテーブルは非推奨となりました。

  • agents.deploy()経由で新しくデプロイされたエージェントではrequest_logs または assessment_logs テーブルは生成されなくなります。
  • レガシーのrequest_logsおよびassessment_logsテーブルは移入されなくなりました。独自の代替テーブルをマテリアライズドビューを使用して作成できます。MLflow 2の代替ソリューションを参照してください。
  • 最新バージョンの databricks-agents を使用してデプロイされたエージェントでは、フィードバックをログに記録するための従来の試験的な APIはサポートされなくなります。代わりに MLflow 3 Assessments APIを使用してください。

対応が必要です

  • 推奨 : より良いパフォーマンスで統合ロギングを提供するリアルタイムトレースを使用するには、MLflow 3 にアップグレードしてください。
  • 代替策 : MLflow 2を継続して使用する必要がある場合は、データへのアクセスを維持するための代替ソリューションを参照してください。

AIエージェントをデプロイすると、Databricksはエージェントとの間で送受信されるリクエストと応答を自動的にキャプチャする3つの推論テーブルを作成します。これらのテーブルは、パフォーマンスの監視、問題のデバッグ、およびユーザーフィードバックの分析に役立ちます。

推論テーブル

Databricksテーブル名の例

テーブルの内容

ペイロード

{catalog_name}.{schema_name}.{model_name}_payload

未加工のJSONリクエストおよびレスポンスペイロード

ペイロードリクエストログ

{catalog_name}.{schema_name}.{model_name}_payload_request_logs

フォーマットされたリクエストとレスポンス。MLflowトレース。

未加工ペイロードテーブルから派生。

ペイロード評価ログ

{catalog_name}.{schema_name}.{model_name}_payload_assessment_logs

レビューアプリで提供されるフォーマットされたフィードバック(各リクエストに対して)

未加工ペイロードテーブルから派生。

  • エージェントがリクエストを受信してから1時間以内に、生のJSONデータがペイロードテーブルに入力されます。
  • リクエストログと評価ログテーブルは、ペイロードテーブルからデータを処理し、フォーマットします。これには追加の時間がかかります。
  • 必要に応じて、ペイロードテーブルからデータを手動で抽出して処理できます。
  • ペイロードテーブルへの変更(削除または更新)は、派生テーブルに自動的に同期されません。

変更点は何ですか?

Databricks は、payload_request_logs および payload_assessment_logs テーブルを自動的に入力することはなくなりました。

引き続き機能するもの :raw payload テーブルは、新しいリクエストからデータを受け取り続けます。

MLflow 3 に移行し、リアルタイムトレーシングを使用してエージェントログを統合してください。

Databricksは、MLflow 3を使用するようにエージェントエンドポイントを移行することを強く推奨しています。MLflow 3のリアルタイムトレーシングは、すべてのエージェントログを1つのトレース場所に統合することで、個別のrequest_logsassessment_logsテーブルの必要性をなくします。

レガシー オブザーバビリティ

MLflow 3 可観測性

データ収集レイテンシー

1時間以上

10秒未満

データ整理

トレースとユーザーフィードバック(評価)は、個別のUnity Catalogテーブル(request_logsおよびassessment_logs)に抽出されます。

観測可能性に関連するすべてのデータ(トレース、フィードバック、評価など)は、同じエクスペリメントで簡単にアクセスできます。

フィードバック収集

十分にサポートされていません。ペイロード推論テーブルにデータを配置する実験的なフィードバック API を使用します。

MLflow 3 は、評価の実行、人間によるラベリング、および評価データセットの管理のための簡素化されたAPIsを提供します。

モニタリング

十分にサポートされていません。サポートは、現在非推奨となっている従来のモニタリングに限定されており、従来の組み込みジャッジおよびガイドラインジャッジのみをサポートしていました。カスタムメトリクスには対応していません。

レガシーモニタリングはペイロードリクエストログに基づいて実行されるため、エージェントの応答の評価には1時間以上かかります。

モニタリングはMLflow 3とネイティブに統合されており、あらゆるスコアラーをサポートします:

  • 組み込みスコアラー
  • カスタム コード スコアラー
  • カスタムジャッジ

メトリクスのバックフィル機能を備え、新しいメトリクスを遡って履歴トレースに適用します。

評価のためにMLflowからトレースが読み取られ、モニタリングのレイテンシが15~30分に短縮されます。

MLflow 3 は評価をトレースにアタッチし、すべてのペイロード、応答、および中間ステップのログとともに、トレースをMLflowトレースサーバーに記録します。「開発におけるラベリング」と「コンセプトとデータモデル」を参照してください。

移行ステップ

  1. MLflow 3にアップグレードする :エージェントがMLflow 3.1.3を使用していることを確認してください。以上。MLflow 3でエージェントをデプロイすると、トレースが自動的に有効になります。
Python
# Install prerequisites
%pip install mlflow>=3.1.3

# Restart Python to make sure the new packages are picked up
dbutils.library.restartPython()
  1. エージェントのログ記録:通常どおりエージェントをログに記録し、MLflow 3.1.3 が必要であることを確認してください。以上。次に、モデルをUCに登録します。
Python
# Log your agent
with mlflow.start_run():
logged_agent_info = mlflow.pyfunc.log_model(
name="my_agent",
pip_requirements=[
"mlflow>=3.1.3",
],
...
)

# Register your model to UC
uc_registered_model_info = mlflow.register_model(
model_uri=logged_agent_info.model_uri, name=UC_MODEL_NAME
)
  1. エージェントをデプロイ: 通常どおりエージェントをデプロイしてください。オプションで、デプロイ前にMLflowエクスペリメントを設定して、トレースがログに記録される場所を制御できます。これを行わない場合、トレースは現在アクティブなMLflowエクスペリメントにログに記録されます。
Python
import mlflow
from databricks import agents

# Set experiment for trace logging
mlflow.set_experiment("/path/to/your/experiment")

# Deploy with automatic tracing
deployment = agents.deploy(uc_model_name, uc_model_info.version)

# Retrieve the query endpoint URL for making API requests
deployment.query_endpoint
注記

MLflow 3は現在、サービングエンドポイントあたり最大100,000のトレースをサポートしています。より高い制限が必要になると予想される場合は、Databricksアカウントチームにお問い合わせください。

詳細情報については、Databricks にデプロイされたエージェントのトレースを参照してください。

MLflow 2 を引き続き使用するための別の方法

重要

MLflow 2 の代替メソッドは、エージェントモニタリングが有効になっているエンドポイントをサポートしていません。モニタリングを使用している場合は、MLflow 3 に移行し、モニターを MLflow 3 スコアラーとして再作成する必要があります。

MLflow 3にアップグレードできない場合でも、Databricksは生のpayloadテーブルへのデータ投入を継続します。ただし、Databricksは、このデータをpayload_requests_logsおよびpayload_assessment_logsテーブルに処理しなくなりました。

代わりに、Databricksはペイロードテーブルにビューを生成し、同じ形式のデータを提供します。このデータにアクセスするには、2つのオプションがあります。提供されたビューを使用するか、マテリアライズドビューを作成します。

オプション1:提供されているビューを使用します

最も簡単な方法は、非推奨のテーブルの代わりに生成されたビューpayload_request_logs_viewpayload_assessment_logs_viewを使用することです。

これらのビューはペイロードテーブルをクエリして同じ形式のデータを提供し、設定なしですぐに使用できます。

必要に応じて、ビューの名前を元のテーブル名に合わせて変更し、コードの変更を最小限に抑えます。

オプション 2:マテリアライズドビューを作成

提供されるビュー(payload_request_logs_viewおよびpayload_assessment_logs_view)は、ペイロードテーブルをクエリすることでリアルタイムでデータをコンピュートします。リアルタイムモニタリングなど、物理的な Delta テーブルを必要とするシナリオでは、代わりにマテリアライズドビューを作成します。

ビューをマテリアライズドビューに変換するには、次のノートブックを実行します。

エージェント推論ログ用のマテリアライズドビューを作成します。

ノートブックを新しいタブで開く

よくある質問

既存のリクエストログと評価ログのデータはどうなりますか?

推論テーブル内の既存データは、引き続きアクセス可能です。ただし、2025年12月4日以降は、request_logs テーブルと assessment_logs テーブルに新しいデータは取り込まれなくなります。

エージェントのデプロイは失敗しますか?

いいえ、既存のエージェントデプロイメントは引き続き機能し、ペイロード推論テーブルには引き続きデータが入力されます。ただし、非推奨日以降は、request_logsassessment_logsテーブルにデータは入力されません。同等の機能を維持するには、提供されたビューを使用するか、MLflow 3に移行してください。

移行についてサポートが必要な場合は、Databricks サポートチームにお問い合わせください。

その他のリソース