次の方法で共有


エージェント監視ダッシュボードを使用してエージェントを監視する

Important

この記事で "(プレビュー)" と付記されている項目は、現在、パブリック プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳細については、「Microsoft Azure プレビューの使用条件を参照してください。

Microsoft Foundry のエージェント監視ダッシュボードを使用して、エージェントの運用メトリックと評価結果を追跡します。 このダッシュボードは、運用トラフィックのトークンの使用状況、待機時間、成功率、評価結果を理解するのに役立ちます。

この記事では、Foundry ポータルでのメトリックの表示と、Python SDK を使用したプログラムによる継続的な評価の設定という 2 つの方法について説明します。

[前提条件]

  • 少なくとも 1 つのエージェントを含む Foundry プロジェクト
  • プロジェクトに接続されている Application Insights リソース
  • Azure ロールベースのアクセス制御 (RBAC) を使用して Application Insights リソースへのアクセスを管理します。 ログ ベースのビューの場合は、関連付けられているLog Analytics ワークスペースへのアクセスも必要です。 アクセスを確認するには、Azure ポータルで Application Insights リソースを開き、Access control (IAM) を選択し、アカウントに適切なロールがあることを確認します。 ログ アクセスの場合は、Log Analytics 閲覧者ロールを割り当てます。

Application Insights に接続する

エージェント監視ダッシュボードは、Foundry プロジェクトに接続されている Application Insights リソースからテレメトリを読み取ります。 Application Insights にまだ接続していない場合は、トレースのセットアップ手順に従って、この記事に戻ります。

エージェント メトリックの表示 (プレビュー)

Foundry ポータルでエージェントのメトリックを表示するには:

  1. Microsoft Foundry にサインインします。 「新しいファウンドリー」トグルがオンになっていることを確認します。 これらの手順は Foundry (新規) を参照します。

  2. 上部のナビゲーションを使用して [ビルド ] ページに移動し、データを表示するエージェントを選択します。

  3. [ 監視 ] タブを選択して、エージェントの運用データ、評価データ、およびレッド チーミング データを表示します。

Foundry のエージェント監視ダッシュボードのスクリーンショット。上部に概要カードと、評価スコア、エージェントの実行成功率、および時間の経過に伴うトークンの使用状況を示す高レベルのメトリックとグラフが表示されています。

ダッシュボードは、エージェントのパフォーマンスに関する迅速な分析情報と詳細な分析のために設計されています。 これは、次の 2 つの主要な領域で構成されています。

  • 上部にあるハイレベルな指標の概要カード。

  • 詳細な情報については、以下のチャートとグラフを参照してください。 これらの視覚化には、選択した時間範囲のデータが反映されます。

ダッシュボードのメトリックを理解する

ダッシュボードを解釈するには、次の定義を使用します。

  • トークンの使用状況: 選択した時間範囲内のエージェント トラフィックのトークン数。 トークンの使用率が高い場合は、詳細なプロンプトや応答が表示され、最適化のメリットが得られる可能性があります。
  • 待機時間: エージェントの実行の応答時間。 10 秒を超える待機時間は、モデルの調整、複雑なツール呼び出し、またはネットワークの問題を示している可能性があります。
  • 実行成功率: 正常に完了した実行の割合。 95% 未満の割合の場合、失敗した実行の調査が必要です。
  • 評価メトリック: サンプリングされたエージェント出力で実行されるエバリュエーターによって生成されるスコア。 スコアはエバリュエーターによって異なります。解釈ガイダンスについては、個々のエバリュエーターのドキュメントを確認してください。
  • レッドチーミングの結果: スケジュールされたレッドチームスキャンからの結果(有効な場合のみ)。 失敗したスキャンは、修復を必要とする潜在的なセキュリティ リスクを示します。

監視データは、接続された Application Insights リソースに格納されます。 保持と課金は、Application Insights の構成に従います。

設定を変更する

[監視設定] パネルを使用して、エージェントのテレメトリ、評価、およびセキュリティ チェックを構成します。 これらの設定は、ダッシュボードに表示されるグラフと実行される評価を制御します。

Foundry の [監視設定] パネルを示すスクリーンショット。運用メトリック、継続的評価、スケジュールされた評価、赤いチーム スキャン、アラートの構成のオプションが表示されています。

モニター設定にアクセスするには、[ モニター ] タブの歯車アイコンを選択します。次の表では、各監視機能について説明します。

Setting 目的 構成オプション
継続的な評価 サンプリングされたエージェントの応答に対して評価を実行します。 有効化または無効化
エバリュエーターを追加する
サンプル レートを設定する
スケジュールされた評価 (プレビュー) ベンチマークに対するパフォーマンスを検証するために、スケジュールに基づいて評価を実行します。 有効化または無効化
評価テンプレートを選択して実行する
スケジュールを設定する
赤いチーム スキャン (プレビュー) 敵対的なテストを実行して、データ漏えいや禁止されたアクションなどのリスクを検出します。 有効化または無効化
評価テンプレートを選択して実行する
スケジュールを設定する
アラート (プレビュー) パフォーマンスの異常、評価エラー、およびセキュリティ リスクを検出します。 待機時間、トークンの使用状況、評価スコア、または赤いチームの結果のアラートを構成する

継続的な評価を設定する

Pythonまたは .NET SDK を使用して、エージェント応答の継続的な評価規則を設定します。

このセクションでは、Python 3.9 以降が必要です。

pip install "azure-ai-projects>=2.0.0" python-dotenv

次の環境変数を独自の値で設定します。

  • AZURE_AI_PROJECT_ENDPOINT: Foundry ポータルのプロジェクト概要ページにある Foundry プロジェクト エンドポイント。
  • AZURE_AI_AGENT_NAME: 評価に使用するエージェントの名前。
  • AZURE_AI_MODEL_DEPLOYMENT_NAME: モデルのデプロイ名。

継続的評価のアクセス許可を割り当てる

継続的評価ルールを有効にするには、プロジェクトマネージド ID に Azure AI User ロールを割り当てます。

  1. Azure ポータルで、Foundry プロジェクトのリソースを開きます。
  2. [ アクセス制御 (IAM)]、[ 追加] の順に選択します。
  3. Azure AI ユーザーのロールの割り当てを作成します。
  4. メンバーの場合は、Foundry プロジェクトのマネージド ID を選択します。

エージェントを作成する

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
    PromptAgentDefinition,
)

load_dotenv()

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]

with (
    DefaultAzureCredential() as credential,
    AIProjectClient(endpoint=endpoint, credential=credential) as project_client,
    project_client.get_openai_client() as openai_client,
):
    agent = project_client.agents.create_version(
        agent_name=os.environ["AZURE_AI_AGENT_NAME"],
        definition=PromptAgentDefinition(
            model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
            instructions="You are a helpful assistant that answers general questions",
        ),
    )
    print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

参照: AIProjectClientDefaultAzureCredential

継続的な評価ルールを作成する

応答が完了したときに実行される評価とルールを定義します。 サポートされているエバリュエーターの詳細については、「 組み込みのエバリュエーター」を参照してください。

from azure.ai.projects.models import (
    EvaluationRule,
    ContinuousEvaluationRuleAction,
    EvaluationRuleFilter,
    EvaluationRuleEventType,
)

data_source_config = {"type": "azure_ai_source", "scenario": "responses"}
testing_criteria = [
    {"type": "azure_ai_evaluator", "name": "violence_detection", "evaluator_name": "builtin.violence"}
]
eval_object = openai_client.evals.create(
    name="Continuous Evaluation",
    data_source_config=data_source_config,  # type: ignore
    testing_criteria=testing_criteria,  # type: ignore
)
print(f"Evaluation created (id: {eval_object.id}, name: {eval_object.name})")

continuous_eval_rule = project_client.evaluation_rules.create_or_update(
    id="my-continuous-eval-rule",
    evaluation_rule=EvaluationRule(
        display_name="My Continuous Eval Rule",
        description="An eval rule that runs on agent response completions",
        action=ContinuousEvaluationRuleAction(eval_id=eval_object.id, max_hourly_runs=100),
        event_type=EvaluationRuleEventType.RESPONSE_COMPLETED,
        filter=EvaluationRuleFilter(agent_name=agent.name),
        enabled=True,
    ),
)
print(
    f"Continuous Evaluation Rule created (id: {continuous_eval_rule.id}, name: {continuous_eval_rule.display_name})"
)

参照: EvaluationRuleEventTypeEvaluationRule

継続的な評価結果を確認する

  1. エージェント トラフィックを生成します (たとえば、アプリを実行するか、ポータルでエージェントをテストします)。
  2. Foundry ポータルでエージェントを開き、[監視] を選択 します
  3. 選択した時間範囲の評価関連のグラフを確認します。

セットアップが成功すると、選択した時間範囲のスコアが評価関連のグラフに表示され、評価実行の一覧に状態 が [完了] のエントリが表示されます。

最近の評価実行を一覧表示し、レポートの URL を開くこともできます。

eval_run_list = openai_client.evals.runs.list(
    eval_id=eval_object.id,
    order="desc",
    limit=10,
)

if len(eval_run_list.data) > 0 and eval_run_list.data[0].report_url:
    print(f"Report URL: {eval_run_list.data[0].report_url}")

完全なサンプル コード

完全なサンプル コードを表示するには、次を参照してください。

トラブルシューティング

問題点 原因 解決策
ダッシュボード グラフが空です 最新のトラフィックがない、時間範囲がデータを含まない、またはインジェストの遅延があるため 新しいエージェント トラフィックを生成し、時間範囲を拡張し、数分後に更新します。
承認エラーが表示される Application Insights または Log Analytics に対する RBAC アクセス許可がありません 接続されているリソースの アクセス制御 (IAM) でアクセスを確認します。 ログ アクセスの場合は、Log Analytics 閲覧者ロールを割り当てます。
継続的な評価結果が表示されない 継続的な評価が有効になっていないか、ルールの作成に失敗しました ルールが有効になっており、エージェント トラフィックがフローしていることを確認します。 Python SDK のセットアップを使用する場合は、プロジェクトマネージド ID に Azure AI User ロールがあることを確認します。
評価試行がスキップされる 時間単位の実行制限に達しました 評価規則の構成で max_hourly_runs を増やすか、次の 1 時間待ちます。 既定の制限は、1 時間あたり 100 回の実行です。