評估模型、提示詞 (prompts) 與代理程式 (agents)
您可以透過將模型、提示詞與代理程式的輸出與基準資料 (ground truth data) 進行比較並計算評估指標,來評估它們。AI Toolkit 精簡了此流程。只需最少的作業量,即可上傳資料集並執行全面性的評估。

評估提示詞與代理程式
您可以在 Agent Builder 中選取 Evaluation (評估) 索引標籤來評估提示詞與代理程式。在評估之前,請先針對資料集執行您的提示詞或代理程式。閱讀更多關於 Bulk run (批次執行) 的資訊,以了解如何處理資料集。
若要評估提示詞或代理程式
- 在 Agent Builder 中,選取 Evaluation 索引標籤。
- 新增並執行您想要評估的資料集。
- 使用讚與倒讚圖示來評分回應,並保留您的手動評估紀錄。
- 若要新增評估器,請選取 New Evaluation (新增評估)。
- 從內建評估器清單中選取一個評估器,例如 F1 分數、關聯性、連貫性或相似度。注意
使用 GitHub 託管的模型來執行評估時,可能會適用 速率限制 (Rate limits)。
- 若有需要,請選取一個模型作為評估用的判斷模型。
- 選取 Run Evaluation (執行評估) 以啟動評估工作。

版本控制與評估比較
AI Toolkit 支援提示詞與代理程式的版本控制,讓您可以比較不同版本的效能。當您建立新版本時,可以執行評估並將結果與先前版本進行比較。
若要儲存提示詞或代理程式的新版本
- 在 Agent Builder 中,定義系統或使用者提示詞,並新增變數與工具。
- 執行代理程式,或切換至 Evaluate (評估) 索引標籤並新增資料集以進行評估。
- 當您對提示詞或代理程式感到滿意時,請從工具列選取 Save as New Version (儲存為新版本)。
- 或者,提供版本名稱並按下 Enter 鍵。
檢視版本紀錄
您可以在 Agent Builder 中檢視提示詞或代理程式的版本紀錄。版本紀錄會顯示所有版本,以及每個版本的評估結果。

在版本紀錄檢視中,您可以
- 選取版本名稱旁邊的鉛筆圖示來重新命名版本。
- 選取垃圾桶圖示來刪除版本。
- 選取版本名稱以切換至該版本。
比較各版本間的評估結果
您可以在 Agent Builder 中比較不同版本的評估結果。結果會顯示在表格中,呈現每個評估器的分數以及每個版本的總分。
若要比較各版本間的評估結果
- 在 Agent Builder 中,選取 Evaluation 索引標籤。
- 從評估工具列中,選取 Compare (比較)。
- 從清單中選擇您想要進行比較的版本。注意
「比較」功能僅在 Agent Builder 的全螢幕模式下可用,以便更清楚地查看評估結果。您可以展開 Prompt (提示詞) 區段以查看模型與提示詞的詳細資訊。
- 所選版本的評估結果會顯示在表格中,讓您可以比較每個評估器的分數以及每個版本的總分。

內建評估器
AI Toolkit 提供了一組內建評估器,用於測量模型、提示詞與代理程式的效能。這些評估器會根據您的模型輸出與基準資料來計算各種指標。
針對代理程式
- Intent Resolution (意圖解析):測量代理程式識別並處理使用者意圖的準確度。
- Task Adherence (任務遵守):測量代理程式執行已識別任務的程度。
- Tool Call Accuracy (工具呼叫準確度):測量代理程式選擇並呼叫正確工具的效能。
針對一般用途
- Coherence (連貫性):測量回應的邏輯一致性與流暢度。
- Fluency (流暢度):測量自然語言品質與可讀性。
針對 RAG (檢索增強生成)
- Retrieval (檢索):測量系統檢索相關資訊的有效性。
針對文字相似度
- Similarity (相似度):AI 輔助的文字相似度測量。
- F1 Score:回應與基準資料之間 Token 重疊的精確度與召回率的調和平均值。
- BLEU:用於翻譯品質的雙語評估替換分數;測量回應與基準資料之間 n-gram 的重疊程度。
- GLEU:用於句子層級評估的 Google-BLEU 變體;測量回應與基準資料之間 n-gram 的重疊程度。
- METEOR:具有顯式排序的翻譯評估指標;測量回應與基準資料之間 n-gram 的重疊程度。
AI Toolkit 中的評估器是基於 Azure Evaluation SDK。若要深入了解生成式 AI 模型的觀察性 (observability),請參閱 Microsoft Foundry 文件。
啟動獨立評估工作
-
在 AI Toolkit 檢視中,選取 TOOLS > Evaluation 以開啟「評估」檢視。
-
選取 Create Evaluation (建立評估),然後提供下列資訊:
- Evaluation job name (評估工作名稱):使用預設名稱或輸入自訂名稱。
- Evaluator (評估器):從內建或自訂評估器中選取。
- Judging model (判斷模型):若有需要,選取一個模型作為判斷模型。
- Dataset (資料集):選取範例資料集進行學習,或匯入包含
query(查詢)、response(回應) 與ground truth(基準資料) 欄位的 JSONL 檔案。
-
系統會建立一個新的評估工作。系統會提示您開啟評估工作的詳細資訊。

-
驗證您的資料集並選取 Run Evaluation (執行評估) 以開始評估。

監控評估工作
在您啟動評估工作後,您可以在評估工作檢視中查看其狀態。

每項評估工作都包含所使用資料集的連結、評估過程的紀錄檔、時間戳記,以及評估詳細資訊的連結。
尋找評估結果
評估工作詳細資訊檢視會顯示每個所選評估器的結果表格。某些結果可能包含彙總值。
您也可以選取 Open In Data Wrangler,使用 Data Wrangler 擴充功能 開啟資料。

建立自訂評估器
您可以建立自訂評估器來擴充 AI Toolkit 的內建評估功能。自訂評估器讓您可以定義自己的評估邏輯與指標。

若要建立自訂評估器
-
在 Evaluation (評估) 檢視中,選取 Evaluators (評估器) 索引標籤。
-
選取 Create Evaluator (建立評估器) 以開啟建立表單。

-
提供必要的資訊:
- Name (名稱):輸入自訂評估器的名稱。
- Description (描述):描述該評估器的功能。
- Type (類型):選取評估器類型:基於 LLM 或基於程式碼 (Python)。
-
依照所選類型的說明來完成設定。
-
選取 Save (儲存) 以建立自訂評估器。
-
建立自訂評估器後,當您建立新的評估工作時,它會出現在評估器清單中供您選取。
基於 LLM 的評估器
對於基於 LLM 的評估器,請使用自然語言提示詞定義評估邏輯。
編寫提示詞來引導評估器評估特定品質。定義準則、提供範例,並使用像 或 之類的變數以增加彈性。根據需要自訂量表或回饋風格。
請確保 LLM 輸出的結果為 JSON 格式,例如:{"score": 4, "reason": "回應相關但缺乏細節。"}
您也可以使用 Examples (範例) 區段來開始使用您的 LLM 基於評估器。

基於程式碼的評估器
對於基於程式碼的評估器,請使用 Python 程式碼定義評估邏輯。程式碼應傳回包含評估分數與原因的 JSON 結果。

AI Toolkit 會根據您的評估器名稱以及您是否使用外部程式庫提供鷹架 (scaffold)。
您可以修改程式碼以實作您的評估邏輯。
# The method signature is generated automatically. Do not change it.
# Create a new evaluator if you want to change the method signature or arguments.
def measure_the_response_if_human_like_or_not(query, **kwargs):
# Add your evaluator logic to calculate the score.
# Return an object with score and an optional string message to display in the result.
return {
"score": 3,
"reason": "This is a placeholder for the evaluator's reason."
}
您所學到的內容
在本文章中,您學習了如何:
- 在 AI Toolkit for VS Code 中建立並執行評估工作。
- 監控評估工作的狀態並檢視其結果。
- 比較提示詞與代理程式不同版本間的評估結果。
- 檢視提示詞與代理程式的版本紀錄。
- 使用內建評估器透過各種指標來測量效能。
- 建立自訂評估器以擴充內建的評估功能。
- 針對不同的評估情境使用基於 LLM 與基於程式碼的評估器。