Azure DevOpsで評価を実行する方法 (プレビュー)

重要

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

このAzure DevOps拡張機能を使用すると、CI/CD パイプライン内の Microsoft Foundry Agents をオフラインで評価できます。 オフライン評価プロセスが効率化されるため、運用環境に更新プログラムをリリースする前に潜在的な問題を特定し、改善することができます。

この拡張機能を使用するには、テスト クエリとエバリュエーターの一覧を含むデータ セットを提供します。 このタスクは、クエリを使用してエージェントを呼び出し、それらを評価して、概要レポートを生成します。

機能

  • Agent Evaluation: CI/CD ワークフロー内のMicrosoft Foundry エージェントの実稼働前評価を自動化します。
  • エバリュエーター: Foundry 評価者カタログから任意の評価者を使用します。
  • 統計分析: 評価結果には信頼区間が含まれており、統計的有意性をテストして、ランダムな変動による変化ではなく意味があるかどうかを判断します。

エバリュエーターのカテゴリ

前提 条件

ヒント

推奨される認証方法は、Azure Resource Manager サービス接続を介してMicrosoft Entra IDです。 Azure DevOps プロジェクトに service connection を作成し、AzureCLI@2 の前に AIAgentEvaluation@2 タスクを使用してパイプラインで参照します。

入力

パラメーター

名前 必須。 説明
azure-ai-project-endpoint はい Microsoft Foundry Projectのエンドポイント。 この値を見つけるには、 Foundry ポータル でプロジェクトを開き、[ 概要 ] ページからエンドポイントをコピーします。
デプロイメント名 はい 評価に使用するAzure AI モデル デプロイの名前。 Foundry ポータルの [モデルとエンドポイント ] で既存のデプロイを検索します。
data-path はい 評価用のエバリュエーターと入力クエリを含むデータ ファイルへのパス。
エージェントID はい 形式 agent-name:version で評価する 1 つ以上のエージェントの ID ( my-agent:1my-agent:1,my-agent:2など)。 複数のエージェントがコンマで区切られ、統計的なテスト結果と比較されます。
baseline-agent-id いいえ 複数のエージェントを評価するときに比較するベースライン エージェントの ID。 指定しない場合は、最初のエージェントが使用されます。

メモ

エージェント ID とバージョンを見つけるには、 Foundry ポータルでプロジェクトを開き、[ エージェント] に移動し、エージェントを選択して、詳細ウィンドウから エージェント ID を コピーします。 バージョンは、展開バージョン番号 (たとえば、 my-agent:1) です。

データ ファイル

入力データ ファイルは、次の構造の JSON ファイルである必要があります。

フィールド タイプ 必須。 説明
名前 文字列 はい 評価データセットの名前。
エバリュエータ string[] はい 使用するエバリュエーター名の一覧。 Foundry ポータルのプロジェクトのエバリュエーター カタログで使用可能なエバリュエーターの一覧を確認します。Build > Evaluations > Evaluator catalog.
データ object[] はい queryとオプションのエバリュエーター フィールド (ground_truthcontext など) を含む入力オブジェクトの配列。 エバリュエーターに自動マップされます。 data_mapping を使用してオーバーライドします。
openai_graders オブジェクト いいえ OpenAI ベースのエバリュエーター (label_model、score_model、string_checkなど) の構成。
評価パラメータ オブジェクト いいえ エバリュエーター固有の初期化パラメーター (しきい値、カスタム設定など)。
データマッピング オブジェクト いいえ ユーザー設定のデータ フィールド マッピング (指定されていない場合はデータから自動生成されます)。

基本的なサンプル データ ファイル


{
  "name": "test-data",
  "evaluators": [
    "builtin.fluency",
    "builtin.task_adherence",
    "builtin.violence"
  ],
  "data": [
    {
      "query": "Tell me about Tokyo disneyland"
    },
    {
      "query": "How do I install Python?"
    }
  ]
}

その他のサンプル データ ファイル

ファイル名 説明
dataset-tiny.json テスト クエリとエバリュエーターの数が少ないデータセット。
dataset.json サポートされているすべてのエバリュエーター型と、信頼区間の計算と統計テストのための十分なクエリを含むデータセット。
dataset-builtin-evaluators.json 組み込みの Foundry エバリュエーターの例 (一貫性、流暢さ、関連性、接地性、メトリックなど)。
dataset-openai-graders.json OpenAI ベースの採点者の例 (ラベル モデル、スコア モデル、テキストの類似性、文字列チェック)。
dataset-custom-evaluators.json 評価関数パラメータを含むカスタム評価関数の例。
dataset-data-mapping.json 自動フィールド マッピングをカスタム データ列名でオーバーライドする方法を示すデータ マッピングの例。

サンプル パイプライン

この拡張機能を使用するには、Azure パイプラインに AIAgentEvaluation@2 タスクを追加します。 次の例は、Azure Resource Manager サービス接続を使用して認証し、エージェントを評価する完全なパイプラインを示しています。

steps:
  - task: AIAgentEvaluation@2
    displayName: "Evaluate AI Agents"
    inputs:
      azure-ai-project-endpoint: "$(AzureAIProjectEndpoint)"
      deployment-name: "$(DeploymentName)"
      data-path: "$(System.DefaultWorkingDirectory)/path/to/your/dataset.json"
      agent-ids: "$(AgentIds)"

評価結果と出力

Azure DevOps パイプラインの概要に評価結果が表示されます。 このレポートには、各メトリックの評価スコア、信頼区間、および複数のエージェントを評価する場合に、差分が意味を持っているかランダムな変動内にあるかを示すペアワイズ統計比較が表示されます。

次のスクリーンショットは、2 つのエージェントを比較したサンプル レポートを示しています。

2 つのエージェントの信頼区間とペアごとの統計比較を含むエージェント評価スコアを示すAzure DevOps パイプラインの概要のスクリーンショット。