內置評分器
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,越高越好)
快速檢查快速檢查 的直接連結
毋須 LLM 的微型評分器,可快速執行結果一致的斷言。如需使用詳情,請參閱快速檢查指南。
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)