Problemas de Saída Estruturada do Ollama GPT-OSS
Não muito agradável.
Modelos GPT-OSS do Ollama têm problemas recorrentes ao lidar com saídas estruturadas, especialmente quando usados com frameworks como LangChain, OpenAI SDK, vllm e outros.
Muitos usuários relatam falhas ao gerar JSON válido ou outros formatos estruturados, a ilusão de modelos de elementos de formato e conteúdo de resposta inconsistente ou vazio. Esses problemas surgem de lacunas atuais de compatibilidade, mudanças no formato de resposta (como Harmony) e a não implementação completa de esquemas de saída tanto por parte do Ollama quanto por APIs de terceiros.
Sobre GPT-OSS
Este é um novo e muito interessante LLM da OpenAI. Basta olhar esses parâmetros:
Modelo | gpt-oss-120b | gpt-oss-20b |
---|---|---|
Camadas | 36 | 24 |
Total de Parâmetros | 117B | 21B |
Parâmetros Ativos por Token | 5,1B | 3,6B |
Total de Especialistas | 128 | 32 |
Especialistas Ativos por Token | 4 | 4 |
Comprimento do Contexto | 128k | 128k |
As notas de lançamento dizem (aqui e aqui):
- Licença permissiva Apache 2.0: Construa livremente sem restrições de copyleft ou risco de patentes — 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 nas necessidades de latência.
- Cadeia completa de pensamento: Obtenha acesso completo ao processo de raciocínio do modelo, facilitando o depuração e aumentando a confiança nos resultados. Não está destinado a ser mostrado aos usuários finais.
- Ajustável: Personalize totalmente os modelos para o seu caso de uso específico por meio de ajuste de parâmetros.
- Capacidades agênticas: Use as capacidades nativas dos modelos para chamada 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, tornando o gpt-oss-120b executável em uma única GPU de 80 GB (como NVIDIA H100 ou AMD MI300X) e o modelo gpt-oss-20b executável dentro de 16 GB de memória. Todos os testes foram realizados com a mesma quantização MXFP4.
O que não amar? O comportamento da saída estruturada… que é isso. No geral, esse problema é muito decepcionante, especialmente porque Saída Estruturada funciona muito bem com Ollama e Qwen3.
Problemas Comuns
- Modelos como gpt-oss:20b frequentemente falham em produzir JSON estrito ou saída compatível com o esquema, com respostas frequentemente contendo comentários extras ou objetos incompletos.
- A integração com LangChain e OpenAI SDK tende a lançar erros de análise/validação devido à saída não estruturada, tornando os pipelines inutilizáveis em ambientes de produção.
- O formato Harmony em gpt-oss introduz rastros de raciocínio mesmo quando não solicitado, complicando a análise do esquema em comparação com outros modelos, como o Qwen3.
- Com o vllm, os mecanismos de enfoque de saída estruturada estão ausentes ou descontinuados, então a saída é frequentemente “não guiada” e deve ser analisada manualmente.
- Há relatos de que o modelo produz a saída estruturada correta, mas depois continua com conteúdo irrelevante, quebrando analisadores padrão.
Soluções Alternativas e Correções
- Alguns usuários sugerem especificar explicitamente o esquema JSON no prompt e tentar a análise manual das 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.
- Algumas correções de bugs e solicitações de pull (PRs) melhoraram incrementalmente a conformidade com o formato Harmony, especialmente com novas versões do Ollama, mas a paridade completa com modelos anteriores ainda não foi alcançada.
- Ao usar o vllm, a correção de funções específicas pode ajudar, mas, em geral, a imposição robusta de esquemas não é suportada nesse momento.
Recomendações
- Evite depender exclusivamente do GPT-OSS para saídas estruturadas rigorosas até que a compatibilidade total seja restaurada no Ollama e nos frameworks downstream.
- Onde a saída estruturada for crítica, use análise adicional ou um modelo melhor conhecido por conformidade com esquema.
- Monitore os 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 o Ollama atualmente tem dificuldades com saídas estruturadas, principalmente devido à imposição incompleta de formatos, mudanças no formato Harmony e suporte insuficiente em toda a cadeia de ferramentas. Soluções manuais podem ajudar, mas o sucesso consistente não é garantido.
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/
Outros Artigos do Ollama
- LLMs e Saída Estruturada: Ollama, Qwen3 & Python ou Go
- Comparação de saída estruturada entre provedores populares de LLM - OpenAI, Gemini, Anthropic, Mistral e AWS Bedrock
- Dica rápida do Ollama
- Teste: Como o Ollama está usando o desempenho da CPU Intel e núcleos eficientes
- Como o Ollama Lida com Pedidos Paralelos
- Desempenho do LLM e Canais PCIe: Considerações Importantes