評估模型、提示詞 (prompts) 與代理程式 (agents)

您可以透過將模型、提示詞與代理程式的輸出與基準資料 (ground truth data) 進行比較並計算評估指標,來評估它們。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:回應與基準資料之間 Token 重疊的精確度與召回率的調和平均值。
  • BLEU:用於翻譯品質的雙語評估替換分數;測量回應與基準資料之間 n-gram 的重疊程度。
  • GLEU:用於句子層級評估的 Google-BLEU 變體;測量回應與基準資料之間 n-gram 的重疊程度。
  • METEOR:具有顯式排序的翻譯評估指標;測量回應與基準資料之間 n-gram 的重疊程度。

AI Toolkit 中的評估器是基於 Azure Evaluation SDK。若要深入了解生成式 AI 模型的觀察性 (observability),請參閱 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 擴充功能 開啟資料。

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": "回應相關但缺乏細節。"}

您也可以使用 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 會根據您的評估器名稱以及您是否使用外部程式庫提供鷹架 (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 與基於程式碼的評估器。
© . This site is unofficial and not affiliated with Microsoft.