1. Commencer par un contrat de réponse structurée
La réparation de réponse n’est utile que si la requête demande déjà une sortie structurée. Cas adaptés :response_format.type = "json_object"- sortie au format JSON Schema
- forme d’objet stable utilisée par plusieurs appelants
2. Activer le plugin au bon niveau
Vous pouvez activerresponse-healing à trois endroits :
- la politique de plugins par défaut de l’espace de travail
- la configuration de plugins d’un préréglage
pluginsdans la requête
- espace de travail
- préréglage
- requête
3. Limiter la sortie du modèle
La réparation fonctionne mieux lorsque la forme de sortie demandée est déjà contrainte. Recommandations :- un seul objet plutôt que plusieurs blocs sans rapport
- des clés obligatoires explicites
- une température déterministe dans la mesure du possible
- aucun texte explicatif demandé en dehors de la charge utile JSON
4. Comprendre les limites de la réparation de réponse
Le mécanisme actuel est déterministe et ne fonctionne qu’en mode sans streaming. Les requêtes de streaming ignorent complètement la réparation. Il peut corriger :- les blocs de code Markdown qui entourent le JSON
- les virgules finales
- les fermetures sûres manquantes
- les clés d’objet sans guillemets dans des objets récupérables
strict. Celui-ci extrait uniquement le JSON déjà valide des blocs de code ou du texte environnant et ignore les transformations de réparation syntaxique plus larges.
Lorsque la requête utilise une sortie au format JSON Schema, la réparation valide également la charge récupérée avant de la réécrire. Le validateur actuel couvre les contraintes courantes suivantes :
- les clés obligatoires
- les types scalaires et conteneurs de base
- les énumérations et les valeurs const
- les limites de tableau et
uniqueItems - la longueur des chaînes, les expressions régulières et les formats courants tels que
email,uri,uuidetdate-time - les limites numériques et
multipleOf - les limites de propriétés d’objet et
additionalProperties: false
- inventer des champs sémantiques manquants
- deviner des valeurs métier
- convertir du texte libre en données valides
5. Vérifier que le plugin s’est exécuté
Lorsque la réparation s’exécute, les détails de la requête doivent afficher des informations sur l’exécution du plugin. Vérifiez :- l’identifiant du plugin
- s’il a tenté une transformation
- si la charge utile a changé
- la raison de l’échec lorsque la réponse n’a pas pu être récupérée
- que la requête était sans streaming si vous vous attendiez à une réparation
6. Distinguer les problèmes d’analyse des problèmes de contenu
Si la réparation n’aide pas, déterminez de quel type d’échec il s’agit :- JSON mal formé mais structurellement proche du format attendu
- JSON valide selon le schéma, mais avec des champs incorrects
- texte libre à la place du JSON
- sortie tronquée parce que la limite de jetons est trop basse
7. Déployer progressivement
- activez la réparation sur un préréglage dont la sortie structurée est stable
- surveillez les métadonnées d’exécution du plugin dans les journaux
- vérifiez que les charges récupérées respectent le schéma attendu
- étendez le réglage aux préréglages similaires uniquement lorsque les journaux sont corrects
8. Choisir le bon mode
- Utilisez
safesi le flux de travail bénéficie d’un nettoyage syntaxique limité, comme la suppression des virgules finales ou l’ajout de guillemets autour des clés non citées. - Utilisez
strictsi le flux de travail doit uniquement accepter du JSON déjà valide une fois les enveloppes retirées. - Consultez les détails de la requête pour confirmer le mode exécuté.