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

モニター生成AI アプリ

備考

ベータ版

この機能は ベータ版です。

このページでは、Lakehouseモニタリングの各種機能を生成AIでどのように活用するかを説明します。 モニタリングを有効にするには、 モニタリングの概要にリンクされている手順に従います。

モニタリング結果の表示

モニタリング結果を表示する前に、以下のものが必要です。

これらの前提条件が満たされると、次の手順に従って、モニターによって生成された結果をまとめたページを表示できます。

  1. 機械学習 セクションの下のサイドバーにある エクスペリメント をクリックします。

  2. モニターに関連付けられている MLflow エクスペリメントをクリックします。

    関連するエクスペリメントの名前を見つける方法がわからない場合は、「 モニターメタデータの取得 」の手順に従って、エクスペリメント ID を取得し、ノートブックでエクスペリメント名を検索する mlflow.get_experiment(experiment_id=$YOUR_EXPERIMENT_ID) を実行してください。

  3. モニタリング タブをクリックします。

  4. SQLウェアハウスを選択する ドロップダウンを使用して、 SQLウェアハウス を選択します。

  5. ページが更新され、モニタリング結果が表示されます。 結果の読み込みには数分かかる場合があります。

モニタリング UI を使用する

モニタリング UI のすべてのデータは、 チャート タブと ログ タブの両方で、時間枠に制限されます。 ウィンドウを変更するには、 時間範囲 ドロップダウンを使用します。

[グラフ] タブ

チャートタブは、リクエスト、メトリクス、レイテンシー、エラー の 4 つのセクションで構成されています。

モニタリング結果をまとめたページのスクリーンショット。

リクエスト セクションには、時間の経過に伴うトレース量が表示されます。

[リクエスト] セクションのスクリーンショット。

メトリクス セクションには、LLM 審査員によって評価された回答の数が表示されます。緑は合格した応答を示し、赤は失敗した応答を示します。このセクションに記載されているメトリクスは、 モニターの作成時 に定義されたものに対応し、全体的な合格/不合格の品質スコアも対応している必要があります。

[メトリクス] セクションのスクリーンショット。

レイテンシー セクションには、MLflow で報告された待機時間から取得された、時間の経過に伴うトレース実行の待機時間が表示されます。

[Latency] セクションのスクリーンショット。

エラー セクションには、時間の経過に伴うモデル エラーが表示されます。エラーが発生していない場合は、次のように「データなし」インジケータが表示されます。

エラーセクションのスクリーンショット。

[ログ] タブ

[ログ] タブのスクリーンショット。

[ログ] タブには、選択したモデルに送信された要求と、LLM 評価の結果 (存在する場合) が一覧表示されます。選択した期間の最大 10,000 件のリクエストが UI に表示されます。要求数がこのしきい値を超えると、要求はモニター構成で指定されたサンプル速度とは異なる速度でサンプリングされます。

送信されたリクエストに含まれるテキストに基づいてリクエストログをフィルタリングするには、検索ボックスを使用します。 フィルター ドロップダウンメニューを使用して、関連する評価の結果でログをフィルタリングすることもできます。

ログフィルターのスクリーンショット。

リクエストにカーソルを合わせ、チェックボックスをクリックしてリクエストを選択します。その後、 評価に追加 をクリックして、これらのリクエストを評価データセットに追加できます。

evals モーダルへの追加のスクリーンショット。

リクエストをクリックすると、その詳細が表示されます。モーダルには、評価結果、入力、応答、および要求に応答するために取得されたドキュメント (存在する場合) が表示されます。タイミング情報など、要求の詳細については、モーダルの右上にある 詳細なトレース ビューの表示 をクリックします。

リクエスト詳細モーダルのスクリーンショット。

要求の詳細なトレース ビューのスクリーンショット。

アラートを追加する

Databricks SQL アラートを使用して、評価されたトレース テーブルが期待と一致しない場合 (たとえば、有害としてマークされた要求の割合がしきい値を超えた場合) にユーザーに通知します。

モニターを更新または一時停止する

モニタの設定を更新するには、次の入力を受け取る update_monitorを呼び出します。

  • endpoint_name: str - 監視対象のエンドポイントの名前
  • monitoring_config: dict - モニターの設定。サポートされているパラメーターについては、「 モニタリングの設定 」を参照してください。

例えば:

Python
from databricks.agents.evals.monitors import update_monitor

monitor = update_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"sample": 0.1, # Change sampling rate to 10%
}
)

同様に、モニターを一時停止するには:

Python
from databricks.agents.evals.monitors import update_monitor

monitor = update_monitor(
endpoint_name = "model-serving-endpoint-name",
monitoring_config = {
"paused": True,
}
)

モニターのメタデータを取得する

get_monitor 機能を使用して、デプロイされたエージェントのモニターの現在の構成を取得します。

Python
from databricks.agents.evals.monitors import get_monitor

get_monitor('model-serving-endpoint-name')

この関数は、次の属性を含む Monitor オブジェクトを返します。

  • endpoint_name - 監視対象のエンドポイントの名前。
  • monitoring_config - モニターの設定。構成パラメーターの モニタリングのセットアップ を参照してください。
  • experiment_id - モニタリング結果が表示される MLflow エクスペリメント。 モニタリング結果の表示を参照してください。
  • evaluated_traces_table - Unity Catalog モニタリングの評価結果をまとめた表です。

モニターの削除

エンドポイントからモニターを削除するには、 delete_monitorを呼び出します。

Python
from databricks.agents.evals.monitors import delete_monitor

monitor = delete_monitor(
endpoint_name = "model-serving-endpoint-name",
)

モニターによって生成された評価されたトレース・テーブルは、 delete_monitorの呼び出しによって削除されません。