GitHub アクションで評価を実行する方法 (プレビュー)

重要

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

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

このアクションを使用するには、テスト クエリとエバリュエーターの一覧を含むデータ セットを指定します。 このアクションにより、クエリを使用してエージェントが呼び出され、評価が実行され、概要レポートが生成されます。

機能

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

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

前提 条件

ヒント

認証には、Microsoft Entra IDを使用することをお勧めします。これを使用して、Azure リソースに安全に接続できます。 Azure ログイン GitHub アクションを使用して、認証プロセスを自動化できます。 詳細については、「Azure Login action with OpenID Connectを参照してください。

AI エージェントの評価を設定する方法

AIエージェント評価入力

パラメーター

名前 必須。 説明
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 自動フィールド マッピングをカスタム データ列名でオーバーライドする方法を示すデータ マッピングの例。

AI エージェントの評価ワークフロー

GitHub アクションを使用するには、GITHUB アクションを CI/CD ワークフローに追加します。 コミット時などのトリガー条件と、自動化されたワークフローをトリガーするファイル パスを指定します。

ヒント

コストを最小限に抑えるために、すべてのコミットで評価を実行しないでください。

この例では、エージェント ID を使用して異なるエージェントを比較するときに AI エージェント評価を実行する方法を示します。

name: "AI Agent Evaluation"

on:
  workflow_dispatch:
  push:
    branches:
      - main

permissions:
  id-token: write
  contents: read

jobs:
  run-action:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Azure login using Federated Credentials
        uses: azure/login@v2
        with:
          client-id: ${{ vars.AZURE_CLIENT_ID }}
          tenant-id: ${{ vars.AZURE_TENANT_ID }}
          subscription-id: ${{ vars.AZURE_SUBSCRIPTION_ID }}

      - name: Run Evaluation
        uses: microsoft/ai-agent-evals@v3-beta
        with:
          # Replace placeholders with values for your Foundry Project
          azure-ai-project-endpoint: "<your-ai-project-endpoint>"
          deployment-name: "<your-deployment-name>"
          agent-ids: "<your-ai-agent-ids>"
          data-path: ${{ github.workspace }}/path/to/your/data-file

AI エージェントの評価結果の出力

評価結果は、GitHubの Actions で実行される各 AI 評価GitHub アクションの概要セクションに出力されます。 このレポートには、各メトリックの評価スコア、信頼区間、および複数のエージェントを評価する場合は、差分が意味のあるかランダムな変動内かを示すペアワイズ統計比較が表示されます。

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

2 つのエージェントの信頼区間とペアごとの統計比較を含むエージェント評価スコアを示すGitHub Actionsワークフローの概要のスクリーンショット。