> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Scorer de pertinence de la réponse La fonction `createAnswerRelevancyScorer()` accepte un objet d’options unique doté des propriétés suivantes : ## Paramètres **model** (`LanguageModel`): Configuration du modèle utilisé pour évaluer la pertinence. **uncertaintyWeight** (`number`): Poids accordé aux verdicts 'unsure' dans l’évaluation (de 0 à 1). (Default: `0.3`) **scale** (`number`): Valeur maximale du score. (Default: `1`) 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](https://mastra.zisheng.pro/fr/reference/evals/mastra-scorer) — mais la valeur renvoyée comprend les champs propres aux LLM décrits ci-dessous. ## Valeur renvoyée par `.run()` **runId** (`string`): ID de l’exécution (facultatif). **score** (`number`): Score de pertinence (de 0 à scale, de 0 à 1 par défaut) **preprocessPrompt** (`string`): Prompt envoyé au LLM pour l’étape de prétraitement (facultatif). **preprocessStepResult** (`object`): Objet contenant les affirmations extraites : { statements: string\[] } **analyzePrompt** (`string`): Prompt envoyé au LLM pour l’étape d’analyse (facultatif). **analyzeStepResult** (`object`): Objet contenant les résultats : { results: Array<{ result: 'yes' | 'unsure' | 'no', reason: string }> } **generateReasonPrompt** (`string`): Prompt envoyé au LLM pour l’étape de justification (facultatif). **reason** (`string`): Explication du score. ## 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’évaluation 1. **Prétraitement des affirmations :** - divise la sortie en affirmations utiles tout en préservant le contexte. 2. **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 3. **Calcul du score :** - `((direct + uncertainty * partial) / total_statements) * scale` ### 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. ## Exemple Évaluez la pertinence des réponses de l’Agent dans différents scénarios : ```typescript 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](https://mastra.zisheng.pro/fr/reference/evals/run-evals). Pour ajouter ce Scorer à un Agent, consultez le guide de [présentation des Scorers](https://mastra.zisheng.pro/fr/docs/evals/overview). ## Voir aussi - [Scorer de fidélité](https://mastra.zisheng.pro/fr/reference/evals/faithfulness)