Ollama GPT-OSS Structured Output Problemen

Niet erg aangenaam.

Inhoud

Ollama’s GPT-OSS modellen hebben herhalende problemen met het verwerken van gestructureerde uitvoer, vooral wanneer ze worden gebruikt met frameworks zoals LangChain, OpenAI SDK, vllm en anderen.

Veel gebruikers melden problemen met het genereren van geldig JSON of andere gestructureerde formaten, hallucinaties van format-elementen door het model en onconsistente of lege inhoud in de antwoorden. Deze problemen ontstaan door huidige compatibiliteitskloven, veranderingen in het antwoordformaat (zoals Harmony) en onvolledige toepassing van uitvoerschema’s door zowel Ollama als derde partijen API’s. Voor een bredere context over runtime, doorvoer en benchmarks, zie LLM Performance: Benchmarks, Bottlenecks & Optimization.

llama with the issues

Over GPT-OSS

Dit is een nieuw zeer interessant LLM van OpenAI. Kijk maar naar deze parameters:

Model gpt-oss-120b gpt-oss-20b
Lagen 36 24
Totaal aantal parameters 117B 21B
Actieve parameters per token 5,1B 3,6B
Totaal aantal experts 128 32
Actieve experts per token 4 4
Contextlengte 128k 128k

Release notes zeggen (hier en hier):

  • Toegankelijke Apache 2.0 licentie: bouw vrij zonder copyleft beperkingen of patentrisico – ideaal voor experimenten, aanpassingen en commerciële implementatie.
  • Instelbare redeneingsinspanning: pas gemakkelijk de redeneingsinspanning (laag, gemiddeld, hoog) aan op basis van je specifieke gebruiksscenario en latentiebehoeften.
  • Volledige keten van gedachten: verkrijg volledige toegang tot het redeneerproces van het model, wat het gemakkelijker maakt om fouten te debuggen en vertrouwen in de uitvoer te vergroten. Het is niet bedoeld om aan eindgebruikers te worden getoond.
  • Fijnafstembaar: pas modellen volledig aan op je specifieke gebruiksscenario via parameterfijnafstemming.
  • Agentele mogelijkheden: gebruik de native mogelijkheden van de modellen voor functie-aanroepen, webbladeren, uitvoering van Python-code en gestructureerde uitvoer.
  • MXFP4-quantisatie: de modellen zijn post-geleerd met MXFP4-quantisatie van de MoE-weights, waardoor gpt-oss-120b kan draaien op één 80GB GPU (zoals NVIDIA H100 of AMD MI300X) en de gpt-oss-20b model draait binnen 16GB geheugen. Alle evaluaties zijn uitgevoerd met dezelfde MXFP4-quantisatie.

Wat niet te houden? Het gedrag van gestructureerde uitvoer… dat is het. Over het algemeen is dit probleem zeer teleurstellend, vooral omdat Gestructureerde uitvoer werkt zo goed met Ollama en Qwen3.

Algemene problemen

  • Modellen zoals gpt-oss:20b falen vaak bij het genereren van strikte JSON of schema-compatibele uitvoer, met antwoorden die vaak extra commentaar bevatten of onvolledige objecten bevatten.
  • Integratie met LangChain en OpenAI SDK leidt vaak tot parsing/validatiefouten vanwege niet-gestructureerde uitvoer, waardoor pijplijnen onbruikbaar zijn in productieomgevingen.
  • Het Harmony-formaat in gpt-oss introduceert redeneertraces zelfs wanneer dit niet is aangevraagd, wat het schema-parsen complexer maakt vergeleken met andere modellen zoals Qwen3.
  • Met vllm zijn de mechanismen voor het afdwingen van gestructureerde uitvoer ontbrekend of verouderd, dus de uitvoer is vaak “ongeleid” en moet handmatig worden geparseerd.
  • Er zijn rapporten over het model dat de juiste gestructureerde uitvoer genereert, maar dan doorgaat met ongerelateerde inhoud, wat standaardparsers breekt.

Tijdelijke oplossingen en herstel

  • Sommige gebruikers suggereren om het JSON-schema expliciet in de prompt op te nemen en proberen om de uitvoer van het model handmatig te parsen, soms met behulp van voor- en na-afscheidingstekens.
  • Een andere aanpak is om een postverwerkingsslaag of een kleinere LLM uit te voeren om de GPT-OSS-uitvoer opnieuw op te maken tot het gewenste schema, hoewel dit resourceintensief is.
  • Een paar bugfixes en pull requests (PRs) hebben geleidelijk de compliance met het Harmony-formaat verbeterd, vooral met de nieuwere Ollama-releases, maar volledige overeenstemming met vorige modellen is nog niet bereikt.
  • Bij gebruik van vllm kan het patchen van specifieke functies helpen, maar over het algemeen wordt robuuste schema-afdwinging op dit moment niet ondersteund.

Aanbevelingen

  • Vermijd het volledig vertrouwen op GPT-OSS voor strikte gestructureerde uitvoer totdat volledige compatibiliteit is hersteld in Ollama en downstream frameworks.
  • Waar gestructureerde uitvoer essentieel is, gebruik dan aanvullende parsing of een model dat beter bekend staat met schema-compliance.
  • Volg relevante GitHub-issues (ollama/ollama, langchain-ai/langchain, vllm-project/vllm) voor herstellingen en integratie-updates.

In samenvatting, GPT-OSS met Ollama heeft momenteel problemen met gestructureerde uitvoer, vooral vanwege onvolledige formaatafdwinging, veranderingen in het Harmony-formaat en het gebrek aan ondersteuning over toolchains. Handmatige tijdelijke oplossingen kunnen helpen, maar consistent succes is niet gegarandeerd. Voor meer informatie over LLM-runtime, geheugentoewijzing en prestatieoptimalisatie, zie LLM Performance: Benchmarks, Bottlenecks & Optimization.

Andere Ollama artikelen