評估模型、提示和代理
您可以透過將模型、提示和代理的輸出與真實資料進行比較並計算評估指標來評估它們。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(F1 分數):響應和真實資料之間詞元重疊的精確率和召回率的調和平均數。
- BLEU:翻譯質量的雙語評估幫手得分;衡量響應和真實資料之間 n-gram 的重疊。
- GLEU:Google-BLEU 變體,用於句子級評估;衡量響應和真實資料之間 n-gram 的重疊。
- METEOR:帶顯式排序的翻譯評估指標;衡量響應和真實資料之間 n-gram 的重疊。
AI Toolkit 中的評估器基於 Azure Evaluation SDK。要了解有關生成式 AI 模型可觀察性的更多資訊,請參閱 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 中開啟),使用 Data Wrangler 擴充套件開啟資料。

建立自定義評估器
您可以建立自定義評估器來擴充套件 AI Toolkit 的內建評估功能。自定義評估器允許您定義自己的評估邏輯和指標。

建立自定義評估器
-
在 **Evaluation**(評估)檢視中,選擇 **Evaluators**(評估器)選項卡。
-
選擇 **Create Evaluator**(建立評估器)以開啟建立表單。

-
提供所需資訊
- Name(名稱):為您的自定義評估器輸入一個名稱。
- Description(描述):描述評估器的工作。
- Type(型別):選擇評估器型別:基於 LLM 或基於程式碼(Python)。
-
遵循所選型別的說明完成設定。
-
選擇 **Save**(儲存)以建立自定義評估器。
-
建立自定義評估器後,它將出現在評估器列表中,供您在建立新評估作業時選擇。
基於 LLM 的評估器
對於基於 LLM 的評估器,使用自然語言提示定義評估邏輯。
編寫一個提示來指導評估器評估特定質量。定義標準、提供示例,並使用 或 等變數來提高靈活性。根據需要自定義量表或反饋樣式。
確保 LLM 輸出 JSON 結果,例如:{"score": 4, "reason": "The response is relevant but lacks detail."}(響應相關但缺乏細節)。
您還可以使用 **Examples**(示例)部分來開始使用您的基於 LLM 的評估器。

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

AI Toolkit 會根據您的評估器名稱以及您是否使用外部庫提供一個腳手架。
您可以修改程式碼以實現您的評估邏輯
# 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."
}
您學到了什麼
在本文中,您學習瞭如何
- 在 VS Code 的 AI Toolkit 中建立和執行評估作業。
- 監控評估作業的狀態並檢視其結果。
- 比較提示和代理不同版本的評估結果。
- 檢視提示和代理的版本歷史記錄。
- 使用內建評估器透過各種指標來衡量效能。
- 建立自定義評估器以擴充套件內建評估功能。
- 使用基於 LLM 和基於程式碼的評估器來處理不同的評估場景。