Validador de saída JSON de LLM

Cole um JSON Schema e uma resposta de LLM para ver cada erro de validação com caminho JSON e linha. Blocos de código, vírgulas finais, aspas simples ou tipográficas, comentários e True/None do Python são corrigidos antes. A validação usa o Ajv 8.20.0 (draft-07, 2019-09, 2020-12) no navegador.

    Tudo roda no seu navegador. Nada é salvo nem enviado.

    Isso resolveu seu problema?
    Fonte preferida no Google

    Como usar

    1. Cole o JSON Schema à esquerda. Um invólucro response_format da OpenAI com name e schema é aberto automaticamente.
    2. Cole a saída do modelo à direita, exatamente como veio, mesmo com bloco de código ou texto em volta.
    3. Leia o resultado. Cada erro mostra linha e coluna (clique para ir até lá), o caminho JSON e o que deu errado. Se a saída precisou de limpeza antes, as correções são listadas e o JSON limpo fica pronto para copiar.

    Como é calculado

    Primeiro a saída é lida como está. Se falhar, a ferramenta remove os problemas que os modelos mais produzem e tenta de novo: bloco de código Markdown, texto antes ou depois do JSON, marca BOM, aspas tipográficas, strings com aspas simples, comentários // e /* */, vírgulas finais e True, False e None do Python. O texto dentro das strings nunca é alterado.

    O esquema é verificado com o Ajv 8.20.0, um validador de JSON Schema muito usado, carregado só quando você cola algo. Os rascunhos 2020-12 e 2019-09 são usados quando o campo $schema os cita; nos demais casos, o draft-07. Todos os erros são informados, não só o primeiro.

    A palavra-chave format (email, date-time etc.) não é verificada, e links $ref remotos não são baixados.

    Nada do que você cola é salvo, enviado ou escrito no endereço da página.

    Erros mais comuns dos LLMs

    ProblemaExemploCorrigido automaticamente
    Bloco de código```json { ... } ```Sim
    Texto em volta do JSONSure! Here it is: { ... }Sim
    Vírgula final{"a": 1,}Sim
    Aspas simples ou tipográficas{'a': 'b'}Sim
    Campo obrigatório ausente{"title": "x"}Não, informado
    Tipo errado"rating": "5"Não, informado
    Campo a mais"author": "x" com additionalProperties falseNão, informado

    Como obter saída válida desde o início

    • Use o modo de saída estruturada do provedor sempre que puder. O json_schema estrito da OpenAI e as structured outputs da Anthropic restringem o modelo ao esquema.
    • Os modos estritos exigem todas as propriedades em required e additionalProperties como false. Confira se o seu esquema segue essas regras.
    • Ao ler a saída de um modelo sem modo estrito, mantenha uma etapa de limpeza como esta e valide antes de confiar nos dados.

    Perguntas frequentes

    Por que meu JSON não é lido se parece certo?

    As causas mais comuns são uma vírgula depois do último item, um bloco de código em volta do JSON ou aspas tipográficas vindas de uma janela de chat. A ferramenta corrige isso e mostra o que mudou.

    Quais rascunhos de JSON Schema são aceitos?

    Draft-07 por padrão, além de 2019-09 e 2020-12 quando o campo $schema indica.

    Meus dados são enviados?

    Não. A leitura e a validação acontecem no seu navegador, e o texto não é salvo nem colocado na URL.

    Posso colar um objeto response_format da OpenAI?

    Sim. Um objeto com name e schema, ou com json_schema.schema, é aberto e o esquema interno é usado.