現已釋出!閱讀關於 11 月新增功能和修復的內容。

評估模型、提示和代理

您可以透過將模型、提示和代理的輸出與真實資料進行比較並計算評估指標來評估它們。AI Toolkit 簡化了此過程。上傳資料集並輕鬆執行全面評估。

Screenshot showing the start of an evaluation in AI Toolkit.

評估提示和代理

您可以在 **Agent Builder** 中透過選擇 **Evaluation**(評估)選項卡來評估提示和代理。在評估之前,請針對資料集執行您的提示或代理。詳細瞭解 Bulk run(批次執行)以瞭解如何處理資料集。

評估提示或代理

  1. 在 **Agent Builder** 中,選擇 **Evaluation**(評估)選項卡。
  2. 新增並執行要評估的資料集。
  3. 使用向上和向下的大拇指圖示為響應評分,並記錄手動評估。
  4. 要新增評估器,請選擇 **New Evaluation**(新評估)。
  5. 從內建評估器列表中選擇一個評估器,例如 F1 分數、相關性、一致性或相似性。
    注意

    使用 GitHub 託管的模型執行評估時,可能會應用 Rate limits(速率限制)。

  6. 如果需要,請選擇一個模型用作評估的判斷模型。
  7. 選擇 **Run Evaluation**(執行評估)以啟動評估作業。

Screenshot showing the Evaluation tab in Agent Builder with options to select evaluators, judging models, and run evaluation against a dataset.

版本控制和評估比較

AI Toolkit 支援提示和代理的版本控制,因此您可以比較不同版本的效能。建立新版本時,您可以執行評估並與先前版本比較結果。

儲存提示或代理的新版本

  1. 在 **Agent Builder** 中,定義系統或使用者提示,新增變數和工具。
  2. 執行代理或切換到 **Evaluate**(評估)選項卡並新增資料集進行評估。
  3. 對提示或代理滿意後,從工具欄中選擇 **Save as New Version**(另存為新版本)。
  4. (可選)提供版本名稱並按 Enter 鍵。

檢視版本歷史記錄

您可以在 **Agent Builder** 中檢視提示或代理的版本歷史記錄。版本歷史記錄顯示所有版本以及每個版本的評估結果。

Screenshot showing the Version History dialog with a list of saved versions of a prompt or agent.

在版本歷史記錄檢視中,您可以

  • 選擇版本名稱旁邊的鉛筆圖示以重新命名版本。
  • 選擇垃圾桶圖示以刪除版本。
  • 選擇版本名稱以切換到該版本。

比較版本之間的評估結果

您可以在 **Agent Builder** 中比較不同版本的評估結果。結果顯示在表格中,顯示每個評估器的得分以及每個版本的總體得分。

比較版本之間的評估結果

  1. 在 **Agent Builder** 中,選擇 **Evaluation**(評估)選項卡。
  2. 從評估工具欄中,選擇 **Compare**(比較)。
  3. 從列表中選擇要與之比較的版本。
    注意

    比較功能僅在 Agent Builder 的全屏模式下可用,以獲得更好的評估結果可見性。您可以展開 **Prompt**(提示)部分以檢視模型和提示的詳細資訊。

  4. 選定版本的評估結果顯示在表格中,允許您比較每個評估器的得分以及每個版本的總體得分。

Screenshot showing the Evaluation tab in Agent Builder with the interface for comparing evaluation results between different versions.

內建評估器

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 文件

啟動獨立的評估作業

  1. 在 AI Toolkit 檢視中,選擇 **TOOLS**(工具)> **Evaluation**(評估)以開啟評估檢視。

  2. 選擇 **Create Evaluation**(建立評估),然後提供以下資訊

    • Evaluation job name(評估作業名稱):使用預設名稱或輸入自定義名稱。
    • Evaluator(評估器):從內建或自定義評估器中選擇。
    • Judging model(判斷模型):如果需要,選擇一個模型用作判斷模型。
    • Dataset(資料集):選擇一個示例資料集進行學習,或匯入一個具有 query(查詢)、response(響應)和 ground truth(真實資料)欄位的 JSONL 檔案。
  3. 將建立一個新的評估作業。系統會提示您開啟評估作業詳細資訊。

    Screenshot showing the Open Evaluation dialog in AI Toolkit.

  4. 驗證您的資料集並選擇 **Run Evaluation**(執行評估)以開始評估。

    Screenshot showing the Run Evaluation dialog in AI Toolkit.

監控評估作業

啟動評估作業後,您可以在評估作業檢視中檢視其狀態。

Screenshot showing a running evaluation in AI Toolkit.

每個評估作業都包含一個指向所用資料集的連結、評估過程的日誌、一個時間戳以及一個指向評估詳細資訊的連結。

查詢評估結果

評估作業詳細資訊檢視顯示一個表格,其中包含每個選定評估器的結果。某些結果可能包括彙總值。

您還可以選擇 **Open In Data Wrangler**(在 Data Wrangler 中開啟),使用 Data Wrangler 擴充套件開啟資料。

Screenshot showing the Data Wrangler extension with evaluation results.

建立自定義評估器

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

Screenshot showing the custom evaluator creation interface in AI Toolkit.

建立自定義評估器

  1. 在 **Evaluation**(評估)檢視中,選擇 **Evaluators**(評估器)選項卡。

  2. 選擇 **Create Evaluator**(建立評估器)以開啟建立表單。

    Screenshot showing the form to create a new custom evaluator.

  3. 提供所需資訊

    • Name(名稱):為您的自定義評估器輸入一個名稱。
    • Description(描述):描述評估器的工作。
    • Type(型別):選擇評估器型別:基於 LLM 或基於程式碼(Python)。
  4. 遵循所選型別的說明完成設定。

  5. 選擇 **Save**(儲存)以建立自定義評估器。

  6. 建立自定義評估器後,它將出現在評估器列表中,供您在建立新評估作業時選擇。

基於 LLM 的評估器

對於基於 LLM 的評估器,使用自然語言提示定義評估邏輯。

編寫一個提示來指導評估器評估特定質量。定義標準、提供示例,並使用 等變數來提高靈活性。根據需要自定義量表或反饋樣式。

確保 LLM 輸出 JSON 結果,例如:{"score": 4, "reason": "The response is relevant but lacks detail."}(響應相關但缺乏細節)。

您還可以使用 **Examples**(示例)部分來開始使用您的基於 LLM 的評估器。

Screenshot showing the LLM-based evaluator configuration in AI Toolkit.

基於程式碼的評估器

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

Screenshot showing the Evaluators tab in AI Toolkit with options for creating code-based evaluators.

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 和基於程式碼的評估器來處理不同的評估場景。
© . This site is unofficial and not affiliated with Microsoft.