內建評分器
Mastra 提供一套完整的內建評分器,用於評估 AI 輸出。這些評分器已針對常見評估情境最佳化,可直接用於 Agent 與 Workflow。
若要建立自己的評分器,請參閱自訂評分器指南。
可用的評分器「可用的評分器」的直接連結
準確性與可靠性「準確性與可靠性」的直接連結
這些評分器會評估 Agent 回答的正確性、真實性與完整性:
answer-relevancy:評估回應切合輸入查詢的程度(0-1,越高越好)answer-similarity:透過語意分析比較 Agent 輸出與標準答案,適合 CI/CD 測試(0-1,越高越好)faithfulness:衡量回應忠實呈現所提供內容的程度(0-1,越高越好)hallucination:偵測事實矛盾與缺乏依據的主張(0-1,越低越好)completeness:檢查回應是否包含所有必要資訊(0-1,越高越好)content-similarity:透過字元層級比對衡量文字相似度(0-1,越高越好)textual-difference:衡量字串之間的文字差異(0-1,越高表示越相似)tool-call-accuracy:評估 LLM 是否從可用選項中選出正確的 Tool(0-1,越高越好)trajectory-accuracy:評估所有 span 類型的預期動作順序。涵蓋的 span 包括 Tool 與模型活動,以及 Workflow 步驟(0-1,越高越好)prompt-alignment:衡量 Agent 回應符合使用者提示意圖、需求、完整性與格式的程度(0-1,越高越好)
內容品質「內容品質」的直接連結
這些評分器會評估產生回應時所用內容的品質與相關性:
context-precision:使用平均精確率(Mean Average Precision)評估內容排序。相關內容越早出現,分數越高(0-1,越高越好)context-relevance:透過相關性層級與使用情形追蹤衡量內容效用,也會偵測缺少的內容(0-1,越高越好)
選擇內容評分器
- 當內容順序很重要,且需要標準資訊檢索指標時,請使用 Context Precision(適合評估 RAG 排序)
- 當你需要詳細評估相關性,並想追蹤內容使用情形及找出缺口時,請使用 Context Relevance
兩種內容評分器都支援:
- 靜態內容:預先定義的內容陣列
- 動態內容擷取:使用自訂函式從執行結果中擷取內容(適合 RAG 系統、向量資料庫等)
輸出品質「輸出品質」的直接連結
這些評分器會評估輸出是否符合格式、風格與安全要求:
tone-consistency:衡量正式程度、複雜度與風格的一致性(0-1,越高越好)toxicity:偵測有害或不當內容(0-1,越低越好)bias:偵測輸出中可能存在的偏見(0-1,越低越好)keyword-coverage:評估技術術語的使用情形(0-1,越高越好)
Quick Checks「Quick Checks」的直接連結
不使用 LLM 的微型評分器,可快速執行確定性的斷言。如需使用方式詳情,請參閱 Quick Checks 指南。
checks.includes:若輸出包含子字串則得 1 分(0或1)checks.excludes:若輸出不包含子字串則得 1 分(0或1)checks.equals:若輸出與字串完全相符則得 1 分(0或1)checks.matches:若輸出符合正規表示式則得 1 分(0或1)checks.similarity:透過 Dice 係數計算字串相似度(0-1,設定臨界值時則為二元結果)checks.calledTool:若 Tool 至少被呼叫 N 次則得 1 分(0或1)checks.didNotCall:若未呼叫 Tool 則得 1 分(0或1)checks.toolOrder:若 Tool 依指定順序呼叫則得 1 分(0或1)checks.maxToolCalls:若 Tool 呼叫次數未超過限制則得 1 分(0或1)checks.usedNoTools:若未呼叫任何 Tool 則得 1 分(0或1)checks.noToolErrors:若所有 Tool 呼叫都未發生錯誤則得 1 分(0或1)