Aller au contenu principal

Scorers

Un Agent basé sur des fichiers découvre les Scorers dans son répertoire scorers/. Utilisez cette page pour la convention basée sur les fichiers ; consultez le guide des Scorers pour les Scorers intégrés, les Scorers personnalisés et l’échantillonnage.

Chaque fichier dans scorers/ exporte par défaut un Scorer et le nom du fichier devient sa clé. L’export par défaut est soit un MastraScorer, soit une entrée { scorer, sampling }.

Démarrage rapide
Lien direct vers Démarrage rapide

Ajoutez un Scorer en plaçant un fichier dans le répertoire scorers/ de l’Agent. Cet exemple utilise un Scorer personnalisé :

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)

Le Scorer est enregistré sur l’Agent weather sous la clé relevance, comme s’il était ajouté à config.scorers.

Échantillonnage
Lien direct vers Échantillonnage

Pour contrôler la fréquence d’exécution d’un Scorer, exportez par défaut une entrée { scorer, sampling } au lieu d’un Scorer seul :

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 },
}

Priorité par rapport à config
Lien direct vers Priorité par rapport à config

Les Scorers découverts sont fusionnés avec ceux définis dans config.ts. En cas de conflit de clé, config.scorers est prioritaire avec un avertissement. Si config.scorers est une fonction, les Scorers découverts sont ignorés avec un avertissement, car les Scorers définis par une fonction ne peuvent pas être fusionnés statiquement.

En cas de conflit de clés, la priorité est la suivante :

  1. config.scorers défini par une fonction
  2. config.scorers défini par un enregistrement
  3. Fichiers découverts dans scorers/

Les Scorers découverts sans conflit sont conservés.

Consultez createScorer() pour l’interface complète de Scorer.