Boa pergunta — já trabalhei bastante com Ollama + n8n nesse assunto. Aqui está o que realmente funciona de forma confiável em 2026:
1. Use o parâmetro nativo format: json do Ollama (camada mais confiável)
Ao configurar o nó Ollama Chat Model, adicione format: json nos campos adicionais / parâmetros do modelo. Isso força o Ollama a restringir a amostragem de tokens apenas a tokens JSON válidos — não é engenharia de prompt, é imposto no nível do modelo. Modelos como llama3, mistral e qwen2.5 suportam isso muito bem. Apenas isso elimina ~80% da saída malformada.
2. Combine com o Structured Output Parser do n8n
Combine Ollama format:json + o Structured Output Parser (com um JSON Schema). O schema diz ao modelo quais campos você espera; o parser valida e extrai. Se você está fazendo roteamento, seu schema pode ser tão simples quanto { "route": { "type": "string", "enum": ["billing", "support", "sales"] } }.
3. Nó Code como sua rede de segurança
Depois do parser, adicione um nó Code que faz:
const out = $input.first().json;
if (!out.route || !['billing','support','sales'].includes(out.route)) {
throw new Error('Invalid route: ' + JSON.stringify(out));
}
return [{ json: out }];
Isso bloqueia nós posteriores para que você nunca roteie errado silenciosamente.
4. Para intenção SQL especificamente
Não peça ao modelo para gerar SQL. Peça para gerar intenção estruturada: { "table": "orders", "filters": [{"field": "status", "op": "eq", "value": "pending"}], "limit": 10 }. Então seu nó Code mapeia isso para uma consulta parametrizada. Muito mais seguro e confiável do que SQL livre.
5. Loop de reparo de uma tentativa se necessário
Para schemas complexos onde o modelo ainda falha ocasionalmente, conecte um nó IF verificando erros de análise → reenvie para o Ollama com a mensagem de erro anexada ao prompt. Uma nova tentativa captura a maioria dos casos restantes. Se falhar duas vezes, roteie para um fallback/revisão humana em vez de adivinhar.
A combinação de format:json + schema + validação Code é o que uso em fluxos de trabalho estilo produção. Funciona sem nenhum nó pago.