Validateur de sortie JSON de LLM

Collez un JSON Schema et une réponse de LLM pour voir chaque erreur de validation avec son chemin JSON et sa ligne. Blocs de code, virgules finales, apostrophes ou guillemets typographiques, commentaires et True/None de Python sont corrigés avant. La validation utilise Ajv 8.20.0 (draft-07, 2019-09, 2020-12) dans le navigateur.

    Tout se passe dans votre navigateur. Rien n'est enregistré ni envoyé.

    Avez-vous trouvé votre réponse ?
    Source préférée sur Google

    Mode d’emploi

    1. Collez le JSON Schema à gauche. Une enveloppe response_format d'OpenAI avec name et schema est dépliée automatiquement.
    2. Collez la sortie du modèle à droite, telle quelle, même avec un bloc de code ou du texte autour.
    3. Lisez le résultat. Chaque erreur indique sa ligne et sa colonne (cliquez pour y aller), le chemin JSON et le problème. Si la sortie a dû être nettoyée, les corrections sont listées et le JSON propre est prêt à copier.

    Méthode de calcul

    La sortie est d'abord lue telle quelle. En cas d'échec, l'outil retire les problèmes que les modèles produisent le plus souvent et réessaie : bloc de code Markdown, texte avant ou après le JSON, marque BOM, guillemets typographiques, chaînes entre apostrophes, commentaires // et /* */, virgules finales, et True, False et None de Python. Le texte à l'intérieur des chaînes n'est jamais modifié.

    Le schéma est vérifié avec Ajv 8.20.0, un validateur JSON Schema très répandu, chargé seulement quand vous collez quelque chose. Les brouillons 2020-12 et 2019-09 s'appliquent quand le champ $schema les nomme, sinon draft-07. Toutes les erreurs sont signalées, pas seulement la première.

    Le mot-clé format (email, date-time, etc.) n'est pas vérifié et les liens $ref distants ne sont pas récupérés.

    Rien de ce que vous collez n'est enregistré, envoyé ni écrit dans l'adresse de la page.

    Les erreurs les plus fréquentes des LLM

    ProblèmeExempleCorrigé automatiquement
    Bloc de code```json { ... } ```Oui
    Texte autour du JSONSure! Here it is: { ... }Oui
    Virgule finale{"a": 1,}Oui
    Apostrophes ou guillemets typographiques{'a': 'b'}Oui
    Champ obligatoire manquant{"title": "x"}Non, signalé
    Mauvais type"rating": "5"Non, signalé
    Champ en trop"author": "x" avec additionalProperties falseNon, signalé

    Obtenir une sortie valide dès le départ

    • Utilisez le mode de sortie structurée du fournisseur quand c'est possible. Le json_schema strict d'OpenAI et les structured outputs d'Anthropic contraignent le modèle au schéma.
    • Les modes stricts exigent que chaque propriété soit dans required et que additionalProperties vaille false. Vérifiez que votre schéma respecte ces règles.
    • Si vous lisez la sortie d'un modèle sans mode strict, gardez une étape de nettoyage comme celle-ci et validez avant de faire confiance aux données.

    Questions fréquentes

    Pourquoi mon JSON ne se lit-il pas alors qu'il semble correct ?

    Les causes habituelles sont une virgule après le dernier élément, un bloc de code autour du JSON ou des guillemets typographiques venus d'une fenêtre de chat. L'outil les corrige et indique ce qu'il a changé.

    Quels brouillons JSON Schema sont pris en charge ?

    Draft-07 par défaut, plus 2019-09 et 2020-12 quand le champ $schema l'indique.

    Mes données sont-elles envoyées ?

    Non. La lecture et la validation se font dans votre navigateur, et le texte n'est ni enregistré ni placé dans l'URL.

    Puis-je coller un objet response_format d'OpenAI ?

    Oui. Un objet avec name et schema, ou avec json_schema.schema, est déplié et le schéma intérieur est utilisé.