Aller au contenu principal

Processors

Un Agent basé sur des fichiers découvre les Processors dans son répertoire processors/. Utilisez cette page pour la convention basée sur les fichiers ; consultez le guide des Processors pour les Processors intégrés, les Processors personnalisés, le comportement de streaming et les modèles avancés.

Les fichiers dans processors/input/ s’exécutent avant que les messages atteignent le modèle. Les fichiers dans processors/output/ s’exécutent après la réponse du modèle. Chaque fichier exporte par défaut un Processor et le nom du fichier devient sa clé de découverte.

Démarrage rapide
Lien direct vers Démarrage rapide

Ajoutez un Processor d’entrée en plaçant un fichier de Processor dans processors/input/ :

src/mastra/agents/weather/processors/input/pii.ts
import { PIIDetector } from '@mastra/core/processors'

export default new PIIDetector({
strategy: 'block',
})

Ce Processor s’exécute avant que les messages utilisateur atteignent le modèle.

Ajouter un Processor de sortie
Lien direct vers Ajouter un Processor de sortie

Les Processors de sortie permettent de filtrer ou de transformer les réponses du modèle avant leur renvoi. Cet exemple masque les PII de la réponse finale.

src/mastra/agents/weather/processors/output/redact.ts
import { PIIDetector } from '@mastra/core/processors'

export default new PIIDetector({
strategy: 'redact',
})

Ordre d’exécution
Lien direct vers Ordre d’exécution

Les Processors découverts sont ajoutés après ceux définis dans config.ts. Les Processors de config s’exécutent donc d’abord.

Ordering
config.inputProcessors → processors/input/* → model
model → config.outputProcessors → processors/output/* → response

Si config.inputProcessors ou config.outputProcessors est une fonction, les Processors découverts de ce type sont ignorés avec un avertissement, car les Processors définis par une fonction ne peuvent pas être fusionnés statiquement.

Priorité par rapport à config
Lien direct vers Priorité par rapport à config

Utilisez config.ts pour les Processors devant être créés à l’exécution ou partagés entre Agents. Utilisez les Processors basés sur des fichiers pour les Processors statiques propres à chaque Agent, qui doivent être révisés avec l’Agent.

La priorité est la suivante :

  1. config.inputProcessors ou config.outputProcessors défini par une fonction
  2. config.inputProcessors ou config.outputProcessors défini par un tableau
  3. Fichiers découverts dans processors/input/ ou processors/output/

Consultez la référence de Processor pour l’interface complète.