Scorer de pertinence de la réponse
La fonction createAnswerRelevancyScorer() accepte un objet d’options unique doté des propriétés suivantes :
ParamètresLien direct vers Paramètres
model:
uncertaintyWeight:
scale:
Cette fonction renvoie une instance de la classe MastraScorer. La méthode .run() accepte la même entrée que les autres Scorers — consultez la référence de MastraScorer — mais la valeur renvoyée comprend les champs propres aux LLM décrits ci-dessous.
Valeur renvoyée par .run()Lien direct vers run-returns
runId:
score:
preprocessPrompt:
preprocessStepResult:
analyzePrompt:
analyzeStepResult:
generateReasonPrompt:
reason:
Détails de l’évaluationLien direct vers Détails de l’évaluation
Le Scorer évalue la pertinence en mesurant l’adéquation entre la requête et la réponse. Il prend en compte la complétude et le niveau de détail, mais pas l’exactitude factuelle.
Processus d’évaluationLien direct vers Processus d’évaluation
- Prétraitement des affirmations :
- divise la sortie en affirmations utiles tout en préservant le contexte.
- Analyse de la pertinence :
- chaque affirmation reçoit l’une des évaluations suivantes :
- "yes" : poids complet pour les correspondances directes
- "unsure" : poids partiel (0,3 par défaut) pour les correspondances approximatives
- "no" : poids nul pour le contenu non pertinent
- chaque affirmation reçoit l’une des évaluations suivantes :
- Calcul du score :
((direct + uncertainty * partial) / total_statements) * scale
Interprétation du scoreLien direct vers Interprétation du score
Pour un score de pertinence compris entre 0 et 1 :
- 1.0 : la réponse traite entièrement la requête avec des informations pertinentes et ciblées.
- 0.7 à 0.9 : la réponse traite l’essentiel de la requête, mais peut contenir quelques informations sans rapport.
- 0.4 à 0.6 : la réponse traite partiellement la requête et mélange des informations pertinentes et sans rapport.
- 0.1 à 0.3 : la réponse contient très peu d’informations pertinentes et passe largement à côté de l’intention de la requête.
- 0.0 : la réponse est totalement sans rapport et ne traite pas la requête.
ExempleLien direct vers Exemple
Évaluez la pertinence des réponses de l’Agent dans différents scénarios :
import { runEvals } from '@mastra/core/evals'
import { createAnswerRelevancyScorer } from '@mastra/evals/scorers/prebuilt'
import { myAgent } from './agent'
const scorer = createAnswerRelevancyScorer({ model: 'openai/gpt-5.6-sol' })
const result = await runEvals({
data: [
{
input: 'What are the health benefits of regular exercise?',
},
{
input: 'What should a healthy breakfast include?',
},
{
input: 'What are the benefits of meditation?',
},
],
scorers: [scorer],
target: myAgent,
onItemComplete: ({ scorerResults }) => {
console.log({
score: scorerResults[scorer.id].score,
reason: scorerResults[scorer.id].reason,
})
},
})
console.log(result.scores)
Pour en savoir plus sur runEvals, consultez la référence de runEvals.
Pour ajouter ce Scorer à un Agent, consultez le guide de présentation des Scorers.