Al usar un analizador de salida en cadena llm con el modelo gamma 4, obtengo esto cada vez
@Mukul_Rai ese error significa que el analizador no pudo validar el texto de los modelos como JSON que coincidiera con tu esquema, y los modelos más pequeños constantemente fallan, envuelven el JSON en prosa o markdown o pierden campos. dos soluciones, la más fácil es envolverlo en el Auto-fixing Output Parser, ejecuta una segunda pasada de LLM para reparar la salida antes de analizar. la más confiable es cambiar a un modelo que sea sólido en salida estructurada (gemini flash, gpt-4o-mini, claude haiku), los modelos más débiles simplemente no pueden mantener el esquema. y refina el prompt para decir que devuelva solo JSON válido, sin markdown o texto extra.
@Mukul_Rai
Esto es lo esperado, el esquema de gemma 4 no se ajusta al formato de Open AI. Si lo alojas por tu cuenta, es posible que aún puedas hacer proxy a través de LiteLLM
Este error proviene del analizador estructurado/de salida realizando una verificación estricta del esquema en la respuesta del modelo — y la respuesta no coincide (generalmente prosa adicional, cercas de markdown ```json, o JSON ligeramente mal formado). La pista “cambiar On Error en el nodo raíz” solo evita que falle la ejecución; no arregla la salida real, así que lo trataría como último recurso, no como la solución.
El verdadero problema aquí es casi con certeza el modelo. Si «gamma 4» es Gemma de Google ejecutándose localmente, los modelos abiertos más pequeños son notoriamente débiles en salida estructurada estricta y llamadas de funciones en comparación con GPT-4o / Claude — tienden a envolver JSON en cercas de código o agregar texto explicativo, lo que rompe el analizador cada vez. Algunas cosas que solucionan esto, en orden de impacto:
-
Envuélvelo en el Analizador de Salida de Autocorrección. n8n tiene un analizador que, cuando el primer análisis falla, alimenta automáticamente la salida incorrecta más el error al modelo y le pide que corrija el formato. Solo esto soluciona la mayoría de casos con modelos más débiles — la mayor ganancia con el menor esfuerzo.
-
Refina la solicitud. Dile explícitamente al modelo: «Devuelve SOLO JSON válido que coincida con el esquema — sin markdown, sin cercas de código, sin explicación.» A los modelos pequeños les encanta agregar cercas de código y prosa; decir esto claramente elimina la mayoría de los fallos.
-
Baja la temperatura a 0-0,2 para el paso estructurado. Una temperatura más alta aumenta la desviación de formato.
-
Simplifica el esquema. Los objetos profundamente anidados con muchos campos requeridos fallan mucho más en modelos pequeños. Aplana, mantén los campos requeridos mínimos, y agrega una descripción breve a cada campo para que el modelo sepa exactamente qué producir.
-
Si la precisión es importante y puedes, usa un modelo que sea más fuerte en JSON / tool-calling para el paso de análisis — incluso otro local como qwen2.5-instruct maneja la salida estructurada mucho mejor que Gemma en mi experiencia, y un modelo de API (un pequeño GPT-4o-mini o Claude Haiku) te acerca al 100% de cumplimiento.
He topado con exactamente esto ejecutando modelos locales para extracción estructurada — el analizador de autocorrección más una instrucción explícita «solo JSON, sin cercas» generalmente la lleva de fallar cada vez a ser confiable. Comienza por ahí y mira cuánto progreso logras.
El consejo del analizador/auto-corrección anterior es correcto. También lo trataría como un problema de monitoreo, no solo como un problema de indicación.
En producción, un paso de IA que a veces devuelve la forma incorrecta no debe permitirse que continúe como si el flujo de trabajo hubiera tenido éxito. Pondría una puerta de validación inmediatamente después del paso del modelo:
- Verificar que la respuesta sea JSON válido.
- Verificar que existan todos los campos obligatorios.
- Verificar que los campos no estén vacíos y estén dentro de los rangos esperados.
- Enrutar la salida inválida a reintentos, auto-corrección o revisión manual.
- Registrar el resultado de la validación con el ID de ejecución y el tipo de entrada.
La distinción clave es éxito técnico versus éxito empresarial. El flujo de trabajo puede terminar en verde mientras que la salida es inutilizable. Para flujos de trabajo de clientes, querría que esas fallas de validación se conviertan en problemas visibles, porque de lo contrario el cliente solo se da cuenta después cuando datos incorrectos llegan a un CRM, correo electrónico, hoja de cálculo o informe.
El consejo del parser/auto-fix anterior es correcto. También trataría esto como un problema de monitoreo, no solo como un problema de prompt.
En producción, un paso de IA que a veces devuelve la forma incorrecta no debería permitirse que continúe como si el flujo de trabajo hubiera tenido éxito. Pondría una puerta de validación inmediatamente después del paso del modelo:
- Verificar que la respuesta sea JSON válido.
- Verificar que existan todos los campos requeridos.
- Verificar que los campos no estén vacíos y estén dentro de los rangos esperados.
- Dirigir el resultado inválido a reintentos, auto-corrección o revisión manual.
- Registrar el resultado de validación con el ID de ejecución y el tipo de entrada.
La distinción clave es éxito técnico versus éxito empresarial. El flujo de trabajo puede terminar en verde mientras que la salida es inutilizable. Para flujos de trabajo de clientes, querría que esas fallas de validación se conviertan en problemas visibles, porque de lo contrario el cliente solo se da cuenta más tarde cuando datos malos llegan a un CRM, correo electrónico, hoja de cálculo o informe.
