如何在 Azure DevOps (preview) 中執行評估

重要

本文中標示為預覽的項目目前仍在預覽中。 此預覽版未簽訂服務等級協議,Microsoft 不建議用於生產工作負載。 某些功能可能不被支援或功能受限。 欲了解更多資訊,請參閱Microsoft Azure預覽補充使用條款。

此 Azure DevOps 擴充功能 可讓你在 CI/CD 管線中離線評估 Microsoft Foundry Agents。 它簡化了離線評估流程,讓你能在發布正式更新前先發現潛在問題並做出改進。

使用此擴充功能時,提供包含測試查詢與評估器清單的資料集。 此任務會喚起您的代理人查詢,評估並產生摘要報告。

特色

  • Agent Evaluation:在您的 CI/CD 工作流程中自動執行 Microsoft Foundry 代理的生產前評估。
  • 評估員:使用Foundry評鑑者目錄中的任何評鑑者。
  • 統計分析:評估結果包含信賴區間及統計顯著性檢定,以判斷變化是否有意義,且非隨機變異所致。

評估器類別

先決條件

提示

推薦的認證方法是透過 Azure Resource Manager 服務連線使用 Microsoft Entra ID。 在 Azure DevOps 專案中建立服務連線,然後在管線中於 AzureCLI@2 工作內參照該服務連線,且此工作須位於 AIAgentEvaluation@2 之前。

輸入

參數

名稱 必須? 描述
azure-ai-project-endpoint 是的 您的 Microsoft Foundry Project 的終端點。 要找到這個值,請在 Foundry 入口 網站開啟你的專案,並從 概覽 頁面複製端點。
部署名稱 是的 一個用於評估的 Azure AI 模型部署名稱。 在 Foundry 入口網站的 Models + 端點 下找到現有部署。
資料路徑 是的 包含評估工具和用於評估的輸入查詢的資料檔案路徑。
代理識別碼 是的 要評估的一或多個代理程式的 ID,格式為 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 資料映射範例說明如何用自訂資料欄位名稱覆蓋自動欄位映射。

示例管道

要使用此擴充功能,請將 AIAgentEvaluation@2 任務加入你的 Azure 管線。 以下範例展示了一條完整的管線,透過 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 pipeline 摘要中看到評估結果。 報告中會顯示每個指標的評價分數、信賴區間,以及——當你評估多位代理人時——一個兩兩統計比較,用以判斷差異是否具有意義或屬於隨機變異範圍。

以下截圖展示了一份比較兩位代理人的範例報告。

Azure DevOps管線摘要截圖,顯示兩位代理人的代理人評價分數及信賴區間及成對統計比較。