次の方法で共有


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

Important

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

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

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

Features

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

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

[前提条件]

入力

パラメーター

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

データ ファイル

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

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

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


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

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

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

サンプル パイプライン

この Azure DevOps 拡張機能を使用するには、タスクを Azure Pipeline に追加し、Microsoft Foundry プロジェクトにアクセスするための認証を構成します。

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 パイプラインの概要に表示され、複数のエージェントが評価される際に、詳細なメトリックと比較が示されます。

評価結果は、Azure DevOps パイプラインで実行される各 AI 評価タスクの概要セクションに出力されます。

次のスクリーンショットは、2 つのエージェントを比較するためのサンプル レポートです。

エージェントの評価結果のスクリーンショット。