Validador de salida JSON de LLM

Pega un JSON Schema y una respuesta de un LLM para ver cada error de validación con su ruta JSON y su línea. Antes se corrigen bloques de código, comas finales, comillas simples o tipográficas, comentarios y True/None de Python. La validación usa Ajv 8.20.0 (draft-07, 2019-09, 2020-12) en tu navegador.

    Todo ocurre en tu navegador. No se guarda ni se envía nada.

    ¿Te ha servido?
    Fuente preferida en Google

    Cómo se usa

    1. Pega el JSON Schema a la izquierda. Un envoltorio response_format de OpenAI con name y schema se desenvuelve solo.
    2. Pega la salida del modelo a la derecha, tal como llegó, aunque traiga un bloque de código o texto alrededor.
    3. Lee el resultado. Cada error muestra su línea y columna (haz clic para ir allí), la ruta JSON y qué falló. Si hubo que limpiar la salida antes, se listan las correcciones y el JSON limpio queda listo para copiar.

    Cómo se calcula

    Primero se intenta leer la salida tal cual. Si falla, la herramienta quita los problemas que los modelos generan con más frecuencia y vuelve a intentarlo: un bloque de código Markdown, texto antes o después del JSON, una marca BOM, comillas tipográficas, cadenas con comillas simples, comentarios // y /* */, comas finales y True, False y None de Python. El texto dentro de las cadenas nunca se cambia.

    El esquema se comprueba con Ajv 8.20.0, un validador de JSON Schema muy usado, que solo se carga cuando pegas algo. Se usan los borradores 2020-12 y 2019-09 cuando el campo $schema los nombra, y draft-07 en los demás casos. Se informan todos los errores, no solo el primero.

    La palabra clave format (email, date-time, etc.) no se comprueba y los enlaces $ref remotos no se descargan.

    Nada de lo que pegas se guarda, se envía ni se escribe en la dirección de la página.

    Errores más comunes de los LLM

    ProblemaEjemploCorrección automática
    Bloque de código```json { ... } ```Sí
    Texto alrededor del JSONSure! Here it is: { ... }Sí
    Coma final{"a": 1,}Sí
    Comillas simples o tipográficas{'a': 'b'}Sí
    Falta un campo obligatorio{"title": "x"}No, se informa
    Tipo incorrecto"rating": "5"No, se informa
    Campo de más"author": "x" con additionalProperties falseNo, se informa

    Cómo obtener salida válida desde el principio

    • Usa el modo de salida estructurada del proveedor cuando puedas. El json_schema estricto de OpenAI y las structured outputs de Anthropic obligan al modelo a seguir el esquema.
    • Los modos estrictos exigen que todas las propiedades estén en required y que additionalProperties sea false. Comprueba que tu esquema cumpla esas reglas.
    • Si lees la salida de un modelo sin modo estricto, mantén un paso de limpieza como este y valida antes de fiarte de los datos.

    Preguntas frecuentes

    ¿Por qué mi JSON no se puede leer si parece correcto?

    Las causas habituales son una coma después del último elemento, un bloque de código alrededor del JSON o comillas tipográficas copiadas de un chat. La herramienta las corrige y te dice qué cambió.

    ¿Qué borradores de JSON Schema admite?

    Draft-07 por defecto, además de 2019-09 y 2020-12 cuando el campo $schema lo indica.

    ¿Se suben mis datos?

    No. La lectura y la validación ocurren en tu navegador, y el texto no se guarda ni se pone en la URL.

    ¿Puedo pegar un objeto response_format de OpenAI?

    Sí. Un objeto con name y schema, o con json_schema.schema, se desenvuelve y se usa el esquema interior.