Kleine lokale modellen hallucineren vaker tijdens het genereren van JSON, omdat ze de taak moeten uitvoeren en tegelijkertijd een rigide schema en geldige syntaxis moeten behouden.
Een lokale AI-workflow kan een compact model vragen om bestandsnamen, datums, tags, apparaatstatussen of automatiseringsargumenten te extraheren en deze als machineleesbare JSON terug te geven. Het model voert daarbij niet één taak uit. Het moet de juiste feiten identificeren, deze aan de bedoelde velden koppelen, vereiste typen en enumeraties respecteren, interpunctie en nesting onthouden en stoppen zonder commentaar toe te voegen. Wanneer de modelcapaciteit beperkt is, concurreren deze vereisten met het redeneervermogen dat nodig is om de waarden aan de bron te blijven koppelen.
JSON maakt correctheid tot een probleem met twee lagen
Het antwoord moet tegelijkertijd semantisch correct en structureel geldig zijn. Een antwoord in vrije tekst kan onzekerheid uitdrukken of uitleggen waarom een waarde ontbreekt, terwijl een JSON-contract het model vaak verplicht een veldwaarde te kiezen, zelfs wanneer het bewijs zwak is.
Onderzoek naar de afweging tussen geldigheid en correctheid laat zien waarom deze metingen afzonderlijk moeten blijven: strengere uitvoerbeperkingen kunnen de schemageldigheid verbeteren, terwijl de geselecteerde waarden minder nauwkeurig worden.
Bij een klein lokaal model is deze druk duidelijker, omdat het minder reservecapaciteit heeft voor het volgen van instructies, extractie en serialisatie. Een groter model kan nog steeds een veld verzinnen, maar bij een compact model verdringt naleving van het formaat de kwaliteit van het antwoord sneller.
Een geldig object kan nog steeds een gehallucineerd antwoord bevatten
Beperkte decoding kan voorkomen dat een illegale accolade, onbekende sleutel of ongeldige enumeratie wordt gegenereerd. Het kan niet bewijzen dat de gekozen klant-ID, datum, het pad of de status in het bronmateriaal staat.
vLLM beschrijft JSON-schema-beperkingen als een manier om de vorm van de gegenereerde uitvoer te beperken. De decoder verkleint het aantal tokens dat als volgende stap toegestaan is, maar het model levert nog steeds de betekenis die door deze toegestane tokens wordt gedragen.
Dit leidt tot een gevaarlijke foutmodus voor automatisering: het object wordt succesvol geparsed, waardoor downstreamcode erop vertrouwt, terwijl één veld is verzonnen. Valideer bedrijfsregels en bronbewijs na de schemavalidatie, in plaats van parse-succes te behandelen als feitelijke correctheid.
Geneste schema's vergroten het aantal vertakkingen en de vereiste toestandsbewaking
Elke vereiste eigenschap, optionele vertakking, geneste array, nullable veld en enumeratie voegt toestand toe die het model tijdens het genereren moet bijhouden. Vergelijkbare sleutelnamen of herhaalde objectstructuren maken het eenvoudiger om een correcte waarde op de verkeerde plek te plaatsen.
De llama.cpp-handleiding voor JSON met grammaticabeperkingen maakt onderscheid tussen de toegestane uitvoergrammatica en de prompt die uitlegt wat de velden betekenen. Een grammatica kan de structuur afdwingen, maar het schema heeft nog steeds duidelijke semantische instructies nodig.
Beperk het aantal gelijktijdige beslissingen. Maak diep geneste objecten vlakker, verwijder ongebruikte optionele velden, gebruik onderscheidende sleutelnamen en splits een grote extractie op in kleinere objecten wanneer het lokale model herhaaldelijk velden verwisselt of irrelevante velden invult.
Prompts die alleen JSON toestaan kunnen nuttige redeneringen onderdrukken
Een strikte instructie als ‘geef alleen JSON terug’ dwingt het model om een antwoord onmiddellijk te verpakken. Bij een moeilijke extractie kan dat leiden tot een vroege veldkeuze, voordat het model concurrerende passages heeft vergeleken of een ambigue datum heeft opgelost.
Evaluaties van Hugging Face tonen gevoeligheid voor de promptindeling: het wijzigen van de verwachte structuur en de beschikbare ruimte voor redeneringen kan de taakprestaties veranderen, zelfs wanneer de onderliggende vraag hetzelfde blijft.
Maak geen private chain-of-thought zichtbaar, maar scheid het oplossen van de interne taak van de uiteindelijke serialisatie. De workflow kan eerst een compact bewijsrecord extraheren of een deterministische lookup uitvoeren en het model daarna vragen alleen de geverifieerde velden weer te geven.
JSON via prompts en beperkte decoding falen op verschillende manieren
JSON die alleen via een prompt wordt gevraagd, kan codeblokken, commentaar, dubbele sleutels, afsluitende komma's of een onafgemaakt object bevatten. Beperkte decoding verwijdert veel syntactische fouten, maar kan het model dwingen te kiezen uit geldige waarden wanneer ‘onbekend’ niet was toegestaan.
Fireworks legt uit hoe tokenkeuzes met schemabeperkingen de generatie binnen een uitvoercontract houden, terwijl de prompt nog steeds nauwkeurig moet beschrijven welke gegevens bedoeld zijn.
Houd beide foutcategorieën bij. Meet parsefouten bij uitvoer die alleen via een prompt wordt gestuurd en meet vervolgens onjuiste maar geldige velden, ongewenste standaardwaarden en schijnzekerheid nadat beperkte decoding is ingeschakeld.
Sampling en afkapping versterken kleine fouten
Een hogere temperatuur kan de keuze van sleutels en veldwaarden variëren, terwijl een ontoereikend tokenbudget arrays of afsluitende accolades kan afkappen. Een lagere temperatuur vermindert variatie, maar maakt een niet-onderbouwde waarde niet waar.
Een praktische beoordeling van een lokale pipeline voor gestructureerde uitvoer laat zien waarom validatie en beperkte generatie afzonderlijke onderdelen zijn in plaats van één truc met prompts.
Reserveer voldoende uitvoertokens voor het grootste toegestane object, beperk de arraylengte en probeer alleen het mislukte gedeelte opnieuw. Het opnieuw genereren van het volledige object kan velden die al correct waren vervangen door nieuwe hallucinaties.
Gebruik een lokale JSON-pipeline in twee stappen
Los de taak eerst op in een minimaal getypeerd record: het exacte bronfragment, de genormaliseerde datum, de geselecteerde identificatie, de betrouwbaarheidsstatus en elke expliciet ontbrekende waarde. Deze stap moet het verzoek kunnen afwijzen in plaats van vereiste gegevens te verzinnen.
Geef dat record daarna weer via een decoder met schemabeperkingen, parse het en voer semantische controles uit, zoals het bestaan van bestanden, het datumbereik, compatibiliteit met enumeraties en consistentie tussen velden. Een validator moet gerichte fouten teruggeven die aangeven welk veld moet worden hersteld.
ZimaSpace's uitleg over waarom een kleiner model betrouwbaarder kan zijn geeft de grens aan: compacte modellen werken het best wanneer de taak, context, toolset en het uitvoercontract beperkt genoeg zijn om te kunnen verifiëren.
Veelgestelde vragen
Betekent geldige JSON dat het model niet heeft gehallucineerd?
Nee. Geldige JSON bewijst dat het object de syntaxis- of schemaregels volgt. Het bewijst niet dat de veldwaarden uit de bron komen of overeenkomen met de werkelijke systeemstatus.
Lost een temperatuur van nul JSON-hallucinaties op?
Nee. De uitvoer kan hierdoor herhaalbaarder worden, maar een consequent gekozen, niet-onderbouwde waarde blijft een hallucinatie.
Is beperkte decoding voldoende voor automatisering?
Nee. Gebruik het in combinatie met brongebaseerde extractie, schemaparsing, semantische validatie en een veilige afwijzingsroute voor ontbrekende of ambigue gegevens.
Tech & AI HUB
Meer om te lezen

Waarom worden voorspellingen voor slimme woningen minder nauwkeurig nadat routines door seizoensveranderingen zijn gewijzigd?
Seizoensgebonden routines veranderen de relatie tussen tijd, sensoren, aanwezigheid en gewenste acties, waardoor een model dat op oudere gewoonten is getraind verouderd raakt.

Waarom mist een thuis-NVR korte gebeurtenissen wanneer objecttracking is ingeschakeld?
Tracking heeft voldoende detecties nodig om een traject te starten en te bevestigen. Daardoor kan een object kortstondig verdwijnen voordat de NVR een geldig...

Waarom veranderen AI-fotolabels na een modelupgrade?
Een modelupgrade verandert de representatie en rangschikking die worden gebruikt om labels toe te wijzen, waardoor dezelfde foto verschillende semantische of betrouwbaarheidsgrenzen kan overschrijden.

