Scorer
ファイルベースの Agent は、自身の scorers/ ディレクトリから Scorer を検出します。ファイルベースの規約については、このページを参照してください。組み込み Scorer、カスタム Scorer、サンプリングについては、Scorer ガイドを参照してください。
scorers/ 内の各ファイルは 1 つの Scorer をデフォルト export し、ファイル名がそのキーになります。デフォルト export は、MastraScorer または { scorer, sampling } エントリのいずれかです。
クイックスタートクイックスタートへの直接リンク
Agent の scorers/ ディレクトリにファイルを配置して、Scorer を追加します。この例では、カスタム Scorer を使用します。
import { createScorer } from '@mastra/core/evals'
export default createScorer({
id: 'relevance',
description: 'Scores how relevant the response is',
}).generateScore(() => 1)
この Scorer は、config.scorers に追加した場合と同様に、weather Agent に relevance キーで登録されます。
サンプリングサンプリングへの直接リンク
Scorer の実行頻度を制御するには、Scorer 単体ではなく { scorer, sampling } エントリをデフォルト export します。
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 との優先順位への直接リンク
検出された Scorer は、config.ts で定義された Scorer とマージされます。キーが競合した場合は、警告とともに config.scorers が優先されます。config.scorers が関数の場合、関数値の Scorer は静的にマージできないため、検出された Scorer は警告とともに無視されます。
キーが競合した場合の優先順位は次のとおりです。
- 関数値の
config.scorers - レコード値の
config.scorers scorers/で検出されたファイル
キーが競合しない、検出された Scorer は保持されます。
Scorer の完全なインターフェースについては、createScorer()を参照してください。