Je suis assez nouveau sur n8n, j’ai créé 3-4 workflows jusqu’à présent. J’ai utilisé l’Output Parser avant, mais il me donne l’erreur « output doesn’t fit required format » même quand je ne vois rien de mal avec l’input que l’agent IA envoie. J’ai essayé de le dépanner avec Claude plusieurs fois, toujours pas résolu. Quelqu’un peut-il me dire ce qui ne va pas ? J’ai joint l’exemple JSON de l’Output Parser.
{
"type": "object",
"properties": {
"reply": {
"type": "string"
},
"customer_name": {
"type": "string"
},
"property_interest": {
"type": "string"
},
"budget_raw": {
"type": "string"
},
"budget_numeric": {
"type": "number"
},
"timeline": {
"type": "string"
},
"lead_score": {
"type": "string",
"enum": ["hot", "warm", "cold"]
},
"status": {
"type": "string",
"enum": ["new", "in_progress", "qualified"]
}
}
}
Salut @dikshxnt, en attendant une réponse, voici quelques éléments qui pourraient t’aider :
Ressources suggérées
Automatiquement associé à ta question.
Docs :
Forum :
@Vaclav_Soukup, @mk_n8n, @Manasgupta840 - vous avez aidé sur des problèmes similaires auparavant, pouvez-vous y jeter un œil ?
Automatiquement suggéré par le bot communautaire de n8n. C’est un pilote - merci de partager vos commentaires ici.
Salut @dikshxnt Bienvenue !
Ce que tu as collé est un schéma JSON, pas un exemple JSON, et les deux options de type de schéma du parseur ne sont pas interchangeables. Sur « Générer à partir d’un exemple JSON », le nœud lit les noms de propriété de ce que tu colles et rend chacun obligatoire, donc il crée un schéma exigeant des clés littérales type et properties, que l’agent ne retournera jamais. Cela échoue à chaque exécution alors que la sortie de l’agent lui-même semble parfaitement correcte.
Ouvre le Structured Output Parser et définis Schema Type sur « Define using JSON Schema », en laissant le contenu exactement comme il est.
Si c’était déjà sur ce paramètre, les suspects suivants sont budget_numeric typé comme number par rapport à un modèle retournant quelque chose comme « 1.2M » en tant que texte, et les deux énumérations rejetant un Hot ou New en majuscules.
Salut @dikshxnt ,
Cette erreur se produit généralement pour deux raisons principales lors de l’utilisation de parseurs de sortie avec les agents IA dans n8n.
Premièrement, votre schéma JSON ne contient pas le tableau requis au niveau supérieur. Sans indiquer explicitement au parseur quels champs sont obligatoires, la validation échoue souvent quand le modèle ignore une clé ou retourne des valeurs vides.
Deuxièmement, vous avez des énumérations strictes pour le score de lead et le statut, plus un type de nombre strict pour le budget numérique. Les LLM produisent souvent des mots en majuscules comme Hot au lieu de hot minuscule, ou passent du texte en chaîne de caractères dans le budget numérique quand aucun nombre n’est mentionné dans la conversation. N’importe quelle discordance mineure de format déclenche exactement cette erreur.
Mettez à jour votre schéma pour inclure les champs requis au niveau supérieur, et ajoutez une instruction rapide dans l’invite système de votre agent IA pour forcer les énumérations en minuscules et les valeurs de secours.
Voici le schéma JSON mis à jour à coller dans votre parseur :
{
"type": "object",
"properties": {
"reply": { "type": "string" },
"customer_name": { "type": "string" },
"property_interest": { "type": "string" },
"budget_raw": { "type": "string" },
"budget_numeric": { "type": "number" },
"timeline": { "type": "string" },
"lead_score": { "type": "string", "enum": ["hot", "warm", "cold"] },
"status": { "type": "string", "enum": ["new", "in_progress", "qualified"] }
},
"required": [
"reply",
"customer_name",
"property_interest",
"budget_raw",
"budget_numeric",
"timeline",
"lead_score",
"status"
]
}
Ajoutez également cette ligne à l’invite système de votre agent IA :
Toujours produire des valeurs strictement minuscules pour lead_score et status. Si budget_numeric est inconnu, toujours produire 0 au lieu de texte ou null.
J’espère que ça t’aidera !
Merci !