使用 Microsoft Foundry SDK 進行雲端評估的介紹

利用雲端評估來大規模測試生成式 AI 應用,無需管理本地運算。 本文將建立共享 SDK 客戶端,並協助你選擇預部署或生產評估的工作流程。

先決條件

  • Foundry 專案。

  • 具備支援聊天完成作業之 GPT 模型(例如 gpt-5-mini)的 Azure OpenAI 部署。

  • Foundry 專案中的 Foundry 使用者角色。

    這很重要

    Foundry RBAC 角色最近已重新命名。 Foundry 用戶、Foundry 擁有者、Foundry Account Owner 以及 Foundry Project Manager 先前分別被稱為 Azure AI 使用者、Azure AI 擁有者、Azure AI 帳戶擁有者及 Azure AI Project 管理者。 在更名期間,你可能還會在某些地方看到之前的名字。角色 ID 與核心權限不會因命名而改變。

  • 關於所有評估角色的需求,請參閱 「設定評估工作流程權限」。

  • 也可以選擇自己的 儲存帳號 來存放評估資料。

部分評估功能有區域限制。 開始前請先檢視 支援的區域 。

設定 SDK 客戶端

安裝你語言的 SDK。 設定以下共享環境變數:

  • AZURE_AI_PROJECT_ENDPOINT:你的 Foundry 專案端點,例如:https://<account_name>.services.ai.azure.com/api/projects/<project_name>。
  • AZURE_AI_MODEL_DEPLOYMENT_NAME:AI 輔助評估工具所使用的模型部署。
  • DATASET_NAME 以及 DATASET_VERSION:可重用資料集的可選值。

使用 DefaultAzureCredential 進行驗證後,建立專案客戶端,並取得評估 API 所使用的 OpenAI 客戶端。

pip install "azure-ai-projects>=2.2.0"
import os
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import TestingCriterionAzureAIEvaluator
from openai.types.eval_create_params import DataSourceConfigCustom
from openai.types.evals.create_eval_jsonl_run_data_source_param import (
    CreateEvalJSONLRunDataSourceParam,
    SourceFileContent,
    SourceFileContentContent,
    SourceFileID,
)

endpoint = os.environ["AZURE_AI_PROJECT_ENDPOINT"]
model_deployment_name = os.environ.get(
    "AZURE_AI_MODEL_DEPLOYMENT_NAME", ""
)
dataset_name = os.environ.get("DATASET_NAME", "")
dataset_version = os.environ.get("DATASET_VERSION", "1")

project_client = AIProjectClient(
    endpoint=endpoint,
    credential=DefaultAzureCredential(),
)
openai_client = project_client.get_openai_client()

參考資料:AIProjectClient,DefaultAzureCredential

若要將透過管理員連線連結的模型作為目標、裁判模型或對話模擬器,請參見 雲端評估中使用管理員連結模型。

了解評估流程

雲端評估包含三個步驟:

  1. 定義資料結構以及為其評分的評估器。
  2. 使用評估用戶端建立評估。
  3. 開始執行作業,持續輪詢直到完成,然後取得評分結果。

雲端評估結果會儲存在您的 Foundry 專案中。 你可以透過 SDK 取得這些資料,在入口網站中檢視,或在連接 Application Insights 時將其導向。

選擇評估者

評估工具透過資料行對應綁定到資料中的欄位。 資料集工作流程會暴露項目欄位,而目標產生的工作流程也會透過範例結構揭露模型或代理人的輸出。

在設定測試標準前 ,請先檢視內建的評估器 與 自訂評估器 。

選擇你的起點

評估單位 起點 Workflow
個別回合 你有 JSONL 或 CSV 測試資料,並附有查詢和回應。 評估查詢-回應資料集
個別回合 你有查詢,需要模特兒或代理人來產生回應。 評估模型與代理人的反應
個別回合 你儲存了與已部署模型或代理個別互動的回應或痕跡。 評估已部署的模型與代理互動
個別回合 你需要產生合成查詢。 產生合成查詢
完整對話 你有一個完整對話的資料集。 評估對話資料集
完整對話 你有可記錄與已部署模型或代理程式完整對話的追蹤記錄。 評估已部署的模型與代理對話
完整對話 你需要產生並評估模擬的客服人員對話。 模擬客服人員對話
任何評估單位 您需要輪詢、解譯、取消或疑難排解執行作業。 取得評估結果

如需進行對抗性安全測試,請使用 AI 紅隊演練。 若要建立獨立資料集,請參見 「產生合成評估資料集」。