> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Scorer de complétude La fonction `createCompletenessScorer()` évalue dans quelle mesure la sortie d’un LLM couvre les éléments clés présents dans l’entrée. Elle analyse les noms, les verbes, les sujets et les termes afin de déterminer leur couverture et fournit un score de complétude détaillé. ## Paramètres La fonction `createCompletenessScorer()` n’accepte aucune option. Cette fonction renvoie une instance de la classe MastraScorer. Consultez la [référence de MastraScorer](https://mastra.zisheng.pro/fr/reference/evals/mastra-scorer) pour en savoir plus sur la méthode `.run()` et ses entrées/sorties. ## Valeur renvoyée par `.run()` **runId** (`string`): ID de l’exécution (facultatif). **preprocessStepResult** (`object`): Objet contenant les éléments extraits et les détails de couverture : { inputElements: string\[], outputElements: string\[], missingElements: string\[], elementCounts: { input: number, output: number } } **score** (`number`): Score de complétude (de 0 à 1) représentant la proportion d’éléments d’entrée couverts dans la sortie. La méthode `.run()` renvoie un résultat présentant la structure suivante : ```typescript { runId: string, extractStepResult: { inputElements: string[], outputElements: string[], missingElements: string[], elementCounts: { input: number, output: number } }, score: number } ``` ## Détails de l’extraction des éléments Le Scorer extrait et analyse plusieurs types d’éléments : - Noms : objets, concepts et entités clés - Verbes : actions et états, convertis à l’infinitif - Sujets : sujets et thèmes principaux - Termes : mots significatifs individuels Le processus d’extraction comprend : - Normalisation du texte, avec suppression des signes diacritiques et conversion en minuscules - Séparation des mots en camelCase - Traitement des limites des mots - Traitement particulier des mots courts, de 3 caractères ou moins - Déduplication des éléments ### `extractStepResult` La méthode `.run()` permet d’obtenir l’objet `extractStepResult` doté des propriétés suivantes : - **inputElements** : éléments clés trouvés dans l’entrée, par exemple des noms, verbes, sujets ou termes. - **outputElements** : éléments clés trouvés dans la sortie. - **missingElements** : éléments d’entrée introuvables dans la sortie. - **elementCounts** : nombre d’éléments dans l’entrée et la sortie. ## Détails de l’évaluation Le Scorer évalue la complétude en analysant la couverture des éléments linguistiques. ### Processus d’évaluation 1. Extrait les éléments clés : - noms et entités nommées - verbes d’action - termes propres au sujet - formes de mots normalisées 2. Calcule la couverture des éléments d’entrée : - correspondances exactes pour les termes courts (≤ 3 caractères) - chevauchement important (> 60 %) pour les termes plus longs Score final : `(covered_elements / total_input_elements) * scale` ### Interprétation du score Pour un score de complétude compris entre 0 et 1 : - **1.0** : traite en détail tous les aspects de la requête. - **0.7 à 0.9** : couvre la plupart des aspects importants avec un bon niveau de détail et quelques lacunes mineures. - **0.4 à 0.6** : traite certains points clés, mais omet des aspects importants ou manque de détails. - **0.1 à 0.3** : ne traite que partiellement la requête et présente des lacunes importantes. - **0.0** : ne traite pas la requête ou fournit des informations non pertinentes. ## Exemple Évaluez la complétude des réponses de l’Agent pour des requêtes de complexités différentes : ```typescript import { runEvals } from '@mastra/core/evals' import { createCompletenessScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createCompletenessScorer() const result = await runEvals({ data: [ { input: 'Explain the process of photosynthesis, including the inputs, outputs, and stages involved.', }, { input: 'What are the benefits and drawbacks of remote work for both employees and employers?', }, { input: 'Compare renewable and non-renewable energy sources in terms of cost, environmental impact, and sustainability.', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, }) }, }) 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 pertinence de la réponse](https://mastra.zisheng.pro/fr/reference/evals/answer-relevancy) - [Scorer de similarité de contenu](https://mastra.zisheng.pro/fr/reference/evals/content-similarity) - [Scorer de différence textuelle](https://mastra.zisheng.pro/fr/reference/evals/textual-difference) - [Scorer de couverture des mots-clés](https://mastra.zisheng.pro/fr/reference/evals/keyword-coverage)