評分器
檔案式 Agent 會在其 scorers/ 目錄中探索評分器。本頁說明檔案式慣例;如需了解內置評分器、自訂評分器及取樣,請參閱評分器指南。
scorers/ 下的每個檔案都會預設匯出一個評分器,而檔案名稱會成為其鍵。預設匯出的內容可以是 MastraScorer,或 { scorer, sampling } 項目。
快速開始快速開始 的直接連結
將評分器檔案放在 Agent 的 scorers/ 目錄下,即可加入評分器。以下範例使用自訂評分器:
src/mastra/agents/weather/scorers/relevance.ts
import { createScorer } from '@mastra/core/evals'
export default createScorer({
id: 'relevance',
description: 'Scores how relevant the response is',
}).generateScore(() => 1)
此評分器會以 relevance 鍵註冊至 weather Agent,效果與將其加入 config.scorers 相同。
取樣取樣 的直接連結
如要控制評分器的執行頻率,請預設匯出 { scorer, sampling } 項目,而非單獨的評分器:
src/mastra/agents/weather/scorers/relevance.ts
import { createScorer } from '@mastra/core/evals'
const relevance = createScorer({
id: 'relevance',
description: 'Scores how relevant the response is',
}).generateScore(() => 1)
export default {
scorer: relevance,
sampling: { type: 'ratio', rate: 0.5 },
}
與 config 的優先次序與 config 的優先次序 的直接連結
系統會將探索到的評分器,與 config.ts 中定義的評分器合併。如果鍵發生衝突,config.scorers 會優先,並顯示警告。如果 config.scorers 是函數,系統會忽略探索到的評分器並顯示警告,因為函數值評分器無法以靜態方式合併。
鍵發生衝突時,優先次序如下:
- 函數值
config.scorers - 記錄值
config.scorers - 在
scorers/下探索到的檔案
系統會保留鍵並無衝突的已探索評分器。
如需完整評分器介面,請參閱 createScorer()。