Problemas de Saída Estruturada no Ollama GPT-OSS
Não é muito agradável.
Os modelos GPT-OSS da Ollama apresentam problemas recorrentes no manuseio de saída estruturada, especialmente quando utilizados com frameworks como LangChain, SDK da OpenAI, vllm e outros.
Muitos usuários relatam falhas na geração de JSON válido ou outros formatos estruturados, alucinação de elementos de formato pelo modelo e conteúdo de resposta inconsistente ou vazio. Esses problemas decorrem de lacunas de compatibilidade atuais, mudanças no formato de resposta (como o Harmony) e a aplicação incompleta de esquemas de saída tanto pela Ollama quanto por APIs de terceiros. Para um contexto mais amplo sobre tempos de execução, vazão (throughput) e benchmarks, consulte LLM Performance: Benchmarks, Bottlenecks & Optimization.

Sobre o GPT-OSS
Este é um novo LLM muito interessante da OpenAI. Basta olhar para estes parâmetros:
| Modelo | gpt-oss-120b | gpt-oss-20b |
|---|---|---|
| Camadas | 36 | 24 |
| Parâmetros Totais | 117B | 21B |
| Parâmetros Ativos por Token | 5.1B | 3.6B |
| Especialistas Totais | 128 | 32 |
| Especialistas Ativos por Token | 4 | 4 |
| Comprimento do Contexto | 128k | 128k |
As notas de lançamento dizem (aqui e aqui):
- Licença Apache 2.0 permissiva: Construa livremente sem restrições de copyleft ou risco de patente — ideal para experimentação, personalização e implantação comercial.
- Esforço de raciocínio configurável: Ajuste facilmente o esforço de raciocínio (baixo, médio, alto) com base no seu caso de uso específico e necessidades de latência.
- Cadeia de raciocínio completa: Tenha acesso completo ao processo de raciocínio do modelo, facilitando a depuração e aumentando a confiança nas saídas. Não é destinado a ser mostrado aos usuários finais.
- Capacidade de ajuste fino (Fine-tunable): Personalize totalmente os modelos para o seu caso de uso específico através de ajuste fino de parâmetros.
- Capacidades de agentes: Utilize as capacidades nativas do modelo para chamadas de função, navegação na web, execução de código Python e Saídas Estruturadas.
- Quantização MXFP4: Os modelos foram pós-treinados com quantização MXFP4 dos pesos MoE, permitindo que o gpt-oss-120b rode em uma única GPU de 80GB (como NVIDIA H100 ou AMD MI300X) e que o modelo gpt-oss-20b rode em 16GB de memória. Todos os testes foram realizados com a mesma quantização MXFP4.
O que não há para amar? O comportamento da saída estruturada… é exatamente isso. No geral, este problema é muito decepcionante, especialmente porque a Saída Estruturada funciona tão bem com Ollama e Qwen3.
Problemas Comuns
- Modelos como gpt-oss:20b falham frequentemente em produzir saída JSON estrita ou compatível com o esquema, com respostas contendo frequentemente comentários extras ou objetos incompletos.
- A integração com LangChain e SDK da OpenAI tende a gerar erros de análise/validação devido à saída não estruturada, tornando os fluxos de trabalho inutilizáveis em ambientes de produção.
- O formato Harmony no gpt-oss introduz rastros de raciocínio mesmo quando não solicitados, complicando a análise do esquema em comparação com outros modelos, como o Qwen3.
- Com o vllm, os mecanismos de aplicação de saída estruturada estão ausentes ou obsoletos, então a saída é frequentemente “não guiada” e deve ser analisada manualmente.
- Existem relatos de que o modelo produz a saída estruturada correta e, em seguida, continua com conteúdo não relacionado, quebrando analisadores padrão.
Soluções Alternativas e Correções
- Alguns usuários sugerem especificar explicitamente o esquema JSON no prompt e tentar analisar manualmente as saídas do modelo, às vezes usando marcadores de divisão pré e pós.
- Outra abordagem é executar uma camada de pós-processamento ou um LLM menor para reformatar a saída do GPT-OSS para o esquema desejado, embora isso seja intensivo em recursos.
- Alguns correções de bugs e solicitações de pull (PRs) melhoraram incrementalmente a conformidade com o formato Harmony, especialmente com as versões mais novas da Ollama, mas a paridade completa com modelos anteriores ainda não foi alcançada.
- Ao usar o vllm, corrigir funções específicas pode ajudar, mas, em geral, a aplicação robusta de esquema não é suportada neste momento.
Recomendações
- Evite confiar exclusivamente no GPT-OSS para saída estruturada estrita até que a compatibilidade total seja restaurada na Ollama e em frameworks a jusante.
- Onde a saída estruturada é crítica, use análise adicional ou um modelo mais conhecido por conformidade de esquema.
- Monitore problemas relevantes no GitHub (ollama/ollama, langchain-ai/langchain, vllm-project/vllm) para correções e atualizações de integração.
Em resumo, o GPT-OSS com Ollama atualmente enfrenta dificuldades com saída estruturada, em grande parte devido à aplicação incompleta de formato, mudanças no formato Harmony e falta de suporte nas cadeias de ferramentas. Soluções alternativas manuais podem ajudar, mas o sucesso consistente não é garantido. Para saber mais sobre tempos de execução de LLM, alocação de memória e ajuste de desempenho, consulte LLM Performance: Benchmarks, Bottlenecks & Optimization.
Links Úteis
- https://www.reddit.com/r/MachineLearning/comments/1n37qnu/d_ollamagptoss20b_cant_seem_to_generate/
- https://github.com/vllm-project/vllm/issues/23120
- https://github.com/ollama/ollama/issues/11691
- https://huggingface.co/openai/gpt-oss-20b/discussions/111
- https://github.com/langchain-ai/langchain/issues/33116
- https://ollama.com/library/gpt-oss
- https://openai.com/index/introducing-gpt-oss/