重要
本文中標示為(預覽)的項目目前正處於公開預覽階段。 此預覽版未簽訂服務水準協議,且不建議用於生產工作負載。 某些功能可能不被支援或功能受限。 欲了解更多資訊,請參閱Microsoft Azure預覽補充使用條款。
此 GitHub Action 能在您的 CI/CD 管線中離線評估 Microsoft Foundry Agents。 它旨在簡化離線評估流程,讓您能在發布更新前識別潛在問題並進行改進。
使用此動作時,提供包含測試查詢與評估器清單的資料集。 此動作會喚起你的代理人查詢,執行評估,並產生摘要報告。
特色
- Agent Evaluation:在您的 CI/CD 工作流程中自動執行 Microsoft Foundry 代理的生產前評估。
- 評估員:使用Foundry評鑑者目錄中的任何評鑑者。
- 統計分析:評估結果包含信賴區間及統計顯著性檢定,以判斷變化是否有意義,且非隨機變異所致。
評估器類別
- 代理評估員:代理工作流程的流程與系統層級評估員。
- RAG 評估員:評估 RAG 系統中的端到端及檢索流程。
- 風險與安全評估員:在回應中評估風險與安全疑慮。
- 通用評估員:品質評估,如連貫性與流暢度。
- 基於 OpenAI 的評分器:使用 OpenAI 評分器,包括字串檢查、文字相似度、分數/標籤模型。
- 自訂評估器:使用Python程式碼或 LLM 作為評審的模式,自行定義自訂評估器。
先決條件
提示
推薦的認證方式是使用 Microsoft Entra ID,這能讓你安全地連接到 Azure 資源。 你可以透過使用 Azure 登入GitHub動作來自動化認證流程。 欲了解更多,請參閱 Azure OpenID Connect 登入操作。
如何設定 AI 代理人評估
AI 智能代理評估資訊
參數
| 名稱 | 必須? | 描述 |
|---|---|---|
| azure-ai-project-endpoint | 是的 | 您的 Microsoft Foundry Project 的終端點。 要找到這個值,請在 Foundry 入口 網站開啟你的專案,並從 概覽 頁面複製端點。 |
| 部署名稱 | 是的 | 一個用於評估的 Azure AI 模型部署名稱。 在 Foundry 入口網站的 Models + 端點 下找到現有部署。 |
| 資料路徑 | 是的 | 路徑指向包含評估器與輸入查詢的資料檔案。 |
| 代理識別碼 | 是的 | 代理人的一個或多個識別碼,以格式 agent-name:version (例如,my-agent:1 或 my-agent:1,my-agent:2)呈現。 多位代理人會以逗號分隔,並與統計測試結果進行比較。 |
| 基準線代理ID | 不 | 評估多個代理程式時,用於比較的基準代理程式識別碼。 若未提供,則使用第一代理人。 |
註
要找到你的代理 ID 和版本,請在 Foundry 入口開啟你的專案,進入 代理,選擇你的代理,然後從詳細面板複製 代理 ID 。 版本是部署版本號(例如 my-agent:1)。
資料檔案
輸入資料檔應為 JSON 檔案,結構如下:
| 場地 | 類型 | 必須? | 描述 |
|---|---|---|---|
| 名稱 | 字串 | 是的 | 評估資料集名稱。 |
| 評估工具 | string[] | 是的 | 用於評估的評估員名稱清單。 請在 Foundry 入口網站的評估者目錄中查看可用評估員名單:建構> 評估 > 評估者目錄。 |
| 資料 | 物件[] | 是的 | 輸入物件陣列,包括 query 和可選的評估器欄位,如 ground_truth、context。 自動映射到評估工具,用 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 代理人評估結果輸出
評估結果會輸出到每個 AI 評估GitHub行動的摘要區塊,該行動在GitHub
以下截圖展示了一份比較兩位代理人的範例報告。
相關內容
- Azure DevOps 評估
如何用 Microsoft Foundry - 如何在 Foundry 入口網站查看評估結果