Agent Framework を使用してデプロイされたアプリの監視
ベータ版
この機能は ベータ版です。
Mosaic AIこのページでは、 Agent Framework を使用してデプロイされた生成 アプリのモニタリングの設定方法について説明しますAI 。リザルトスキーマ、リザルトの閲覧、UIの使用、アラートの追加、モニターの管理など、モニタリングの一般的な情報については、「 生成AIのレイクハウスモニタリングとは」を参照してください。
Lake House Monitoring for 生成AI は、 Mosaic AI Agent Evaluation AI Judgeを使用して、ボリューム、レイテンシー、エラー、コストなどの運用メトリクスと、正確性やガイドラインの遵守などの品質メトリクスを追跡するのに役立ちます。
モニタリングの仕組み:
モニタリング UI は、次のとおりです。
必要条件
- Databricks ノートブックに databricks-agents SDK をインストールします。
%pip install databricks-agents>=0.18.1
dbutils.library.restartPython()
- サーバレス ジョブを有効にする必要があります。
- LLM ジャッジ のメトリクスでは、パートナーが提供する AI 支援機能 を有効にする必要があります。レイテンシなどの他のメトリクスは、この設定に関係なくサポートされます。
制限
- トレースがモニタリングUIで利用可能になるまでに最大2時間かかる場合があります。
- Quality メトリクスは、モニタリング UI にトレースが表示され てから コンピュートまでさらに 15 分かかる場合があります。
詳細については、「 実行とスケジューリングの監視」を参照してください。
より低いレイテンシーが必要な場合は、Databricks のアカウント担当者にお問い合わせください。
モニタリングの設定
ChatAgent または ChatModel で作成されたエージェントを agents.deploy
を使用してデプロイすると、基本的なモニタリングが自動的に設定されます。これには以下が含まれます。
- ボリューム追跡の要求
- レイテンシメトリクス
- エラーロギング
この自動モニタリングには、ガイドラインの遵守や安全性などの特定の評価メトリクスは含まれていませんが、エージェントの使用状況とパフォーマンスを追跡するために不可欠なテレメトリーを提供します。
モニターにエンドユーザー👍/👎フィードバックを含めるには、 デプロイされたエージェントに関するフィードバックの提供 (実験的) を参照して、推論テーブルにフィードバックを添付する手順を確認してください。
エージェントモニタリング メトリクスの設定
自動モニタリングに評価メトリクスを追加するには、 update_monitor
方法を使用します。
MLflowモニターは エクスペリメントに取り付ける 必要があります 。各エクスペリメントには、(1 つのエンドポイントに対して) 1 つのモニターのみをアタッチできます。 By デフォルト, update_monitor
と create_monitor
はノートブックの MLflow エクスペリメントを使用します。 この動作をオーバーライドして別のエクスペリメントを選択するには、 experiment_id
パラメーターを使用します。
from databricks.agents.monitoring import update_monitor
monitor = update_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"sample": 0.01, # Sample 1% of requests
"metrics": ['guideline_adherence', 'groundedness', 'safety', 'relevance_to_query'],
"global_guidelines": {
"english": ["The response must be in English"],
"clarity": ["The response must be clear, coherent, and concise"],
}
}
)
自動モニタリングでデプロイされていないエージェントの場合は、 create_monitor
方法でモニタリングを設定できます。
from databricks.agents.monitoring import create_monitor
monitor = create_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"sample": 0.01, # Sample 1% of requests
"metrics": ['guideline_adherence', 'groundedness', 'safety', 'relevance_to_query'],
"global_guidelines": {
"english": ["The response must be in English"],
"clarity": ["The response must be clear, coherent, and concise"],
}
}
)
どちらの方法でも、次の入力を受け取ります。
-
endpoint_name: str
- 監視するモデルサービングエンドポイントの名前。 -
monitoring_config: dict
- モニターの設定。次のパラメーターがサポートされています。sample: float
- 評価する要求の割合 (0 から 1 の間)。metrics: list[str]
- 評価するメトリクスの一覧。 サポートされているメトリクスは、guideline_adherence
、groundedness
、safety
、relevance_to_query
、chunk_relevance
です。これらのメトリクスの詳細については、「 組み込み AI ジャッジ」を参照してください。[Optional] global_guidelines: dict[str, list[str]]
- エージェントの応答を評価するためのグローバルガイドライン。ガイドラインの遵守を参照してください。[Optional] paused: str
-PAUSED
またはUNPAUSED
.
-
[Optional] experiment_id
: モニター結果が表示される MLflow エクスペリメント。 指定しない場合、モニターは、エージェントが最初にログに記録されたのと同じエクスペリメントを使用します。
セル出力にモニタリング UI へのリンクが表示されます。 評価結果はこの UI で表示でき、 monitor.evaluated_traces_table
.評価された行を表示するには、次のコマンドを実行します。
display(spark.table(monitor.evaluated_traces_table).filter("evaluation_status != 'skipped'"))
実行とスケジューリングの監視
- トレースがモニタリングUIで利用可能になるまでに最大2時間かかる場合があります。
- Quality メトリクスは、モニタリング UI にトレースが表示され てから コンピュートまでさらに 30 分かかる場合があります。
モニターを作成すると、過去 30 日間のエンドポイントへのリクエストのサンプルを評価するジョブが開始されます。この初期評価は、リクエストの量とサンプリングレートによっては、完了するまでに数時間かかる場合があります。
エンドポイントにリクエストが行われると、次の処理が行われます。
- 要求とその MLflow トレースは、推論テーブルに書き込まれます (15 分から 30 分)。
- スケジュールされたジョブは、推論テーブルを 2 つの別々のテーブル (要求とトレースを含む
request_log
と、ユーザーフィードバックを含むassessment_logs
にアンパックします (ジョブは 1 時間ごとに実行されます)。 - モニタリング ジョブは、指定した要求のサンプルを評価します (ジョブ 15 分ごとに実行)。
これらの手順を合わせると、リクエストがモニタリング UI に表示されるまでに最大 2.5 時間かかることがあります。
モニターは Databricks ワークフローによって支えられています。モニターの更新を手動でトリガーするには (ステップ 3)、名前が [<endpoint_name>] Agent Monitoring Job
のワークフローを見つけて、[ 今すぐ実行 ] をクリックします。
より低いレイテンシーが必要な場合は、Databricks のアカウント担当者にお問い合わせください。
ノートブックの例
次の例では、単純なエージェントをログに記録してデプロイし、そのエージェントでモニタリングを有効にします。