> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Scorer de différence textuelle La fonction `createTextualDifferenceScorer()` utilise la correspondance de séquences pour mesurer les différences textuelles entre deux chaînes. Elle fournit des informations détaillées sur les modifications, notamment le nombre d’opérations nécessaires pour transformer un texte en un autre. ## Paramètres La fonction `createTextualDifferenceScorer()` 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. **analyzeStepResult** (`object`): Objet contenant les métriques de différence : { confidence: number, changes: number, lengthDiff: number } **score** (`number`): Rapport de similarité compris entre 0 et 1, où 1 indique des textes identiques. `.run()` renvoie un résultat possédant la structure suivante : ```typescript { runId: string, analyzeStepResult: { confidence: number, ratio: number, changes: number, lengthDiff: number }, score: number } ``` ## Détails du calcul du score Le Scorer calcule plusieurs mesures : - **Rapport de similarité** : fondé sur la correspondance de séquences entre les textes, de 0 à 1 - **Modifications** : nombre d’opérations sans correspondance nécessaires - **Différence de longueur** : différence normalisée entre les longueurs des textes - **Confiance** : inversement proportionnelle à la différence de longueur ### Processus de calcul du score 1. Analyse les différences textuelles : - Effectue une correspondance de séquences entre l’entrée et la sortie - Compte le nombre d’opérations de modification requises - Mesure les différences de longueur 2. Calcule les métriques : - Calcule le rapport de similarité - Détermine le score de confiance - Les combine en un score pondéré Score final : `(similarity_ratio * confidence) * scale` ### Interprétation du score Un score de différence textuelle compris entre 0 et 1 s’interprète comme suit : - **1.0** : les textes sont identiques. - **0.7 à 0.9** : différences mineures, peu de modifications nécessaires. - **0.4 à 0.6** : différences modérées, modifications notables requises. - **0.1 à 0.3** : différences importantes, nombreuses modifications requises. - **0.0** : textes complètement différents. ## Exemple Mesurez les différences textuelles entre les sorties attendues et réelles d’un Agent : ```typescript import { runEvals } from '@mastra/core/evals' import { createTextualDifferenceScorer } from '@mastra/evals/scorers/prebuilt' import { myAgent } from './agent' const scorer = createTextualDifferenceScorer() const result = await runEvals({ data: [ { input: 'Summarize the concept of recursion', groundTruth: 'Recursion is when a function calls itself to solve a problem by breaking it into smaller subproblems.', }, { input: 'What is the capital of France?', groundTruth: 'The capital of France is Paris.', }, ], scorers: [scorer], target: myAgent, onItemComplete: ({ scorerResults }) => { console.log({ score: scorerResults[scorer.id].score, groundTruth: scorerResults[scorer.id].groundTruth, }) }, }) 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 similarité du contenu](https://mastra.zisheng.pro/fr/reference/evals/content-similarity) - [Scorer d’exhaustivité](https://mastra.zisheng.pro/fr/reference/evals/completeness) - [Scorer de couverture des mots-clés](https://mastra.zisheng.pro/fr/reference/evals/keyword-coverage)