> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Exécuter des scorers en CI L’exécution de scorers dans votre pipeline CI fournit des métriques quantifiables pour mesurer la qualité des agents au fil du temps. La fonction `runEvals` traite plusieurs cas de test avec votre agent ou workflow et renvoie des scores agrégés. ## Configuration de base Vous pouvez utiliser tout framework de test prenant en charge les modules ESM, tel que [Vitest](https://vitest.dev/), [Jest](https://jestjs.io/) ou [Mocha](https://mochajs.org/). ## Créer des cas de test Utilisez `runEvals` pour évaluer votre agent avec plusieurs cas de test. La fonction accepte un tableau d’éléments de données, chacun contenant un `input` et, facultativement, un `groundTruth` pour la validation du scorer. ```typescript import { describe, it, expect } from 'vitest' import { createScorer, runEvals } from '@mastra/core/evals' import { weatherAgent } from './weather-agent' import { locationScorer } from '../scorers/location-scorer' describe('Weather Agent Tests', () => { it('should correctly extract locations from queries', async () => { const result = await runEvals({ data: [ { input: 'weather in Berlin', groundTruth: { expectedLocation: 'Berlin', expectedCountry: 'DE' }, }, { input: 'weather in Berlin, Maryland', groundTruth: { expectedLocation: 'Berlin', expectedCountry: 'US' }, }, { input: 'weather in Berlin, Russia', groundTruth: { expectedLocation: 'Berlin', expectedCountry: 'RU' }, }, ], target: weatherAgent, scorers: [locationScorer], }) // Assert aggregate score meets threshold expect(result.scores['location-accuracy']).toBe(1) expect(result.summary.totalItems).toBe(3) }) }) ``` ## Comprendre les résultats La fonction `runEvals` renvoie un objet contenant : - `scores` : scores moyens de chaque scorer sur l’ensemble des cas de test - `summary.totalItems` : nombre total de cas de test traités ```typescript { scores: { 'location-accuracy': 1.0, // Average score across all items 'another-scorer': 0.85 }, summary: { totalItems: 3 } } ``` ## Plusieurs scénarios de test Créez des cas de test distincts pour les différents scénarios d’évaluation : ```typescript describe('Weather Agent Tests', () => { const locationScorer = createScorer({/* ... */}) it('should handle location disambiguation', async () => { const result = await runEvals({ data: [ { input: 'weather in Berlin', groundTruth: {/* ... */}, }, { input: 'weather in Berlin, Maryland', groundTruth: {/* ... */}, }, ], target: weatherAgent, scorers: [locationScorer], }) expect(result.scores['location-accuracy']).toBe(1) }) it('should handle typos and misspellings', async () => { const result = await runEvals({ data: [ { input: 'weather in Berln', groundTruth: { expectedLocation: 'Berlin', expectedCountry: 'DE' }, }, { input: 'weather in Parris', groundTruth: { expectedLocation: 'Paris', expectedCountry: 'FR' }, }, ], target: weatherAgent, scorers: [locationScorer], }) expect(result.scores['location-accuracy']).toBe(1) }) }) ``` ## Étapes suivantes - Découvrez la [création de scorers personnalisés](https://mastra.zisheng.pro/fr/docs/evals/custom-scorers) - Explorez les [scorers intégrés](https://mastra.zisheng.pro/fr/docs/evals/built-in-scorers) - Exécutez des scorers sur des [agents avec mémoire](https://mastra.zisheng.pro/fr/docs/evals/evals-with-memory) - Consultez la [référence de l’API runEvals](https://mastra.zisheng.pro/fr/reference/evals/run-evals)