Ga naar de hoofdinhoud
BVDNET
Arnhem · websites & automatiseringBVDNET
Praktische Toepassingen

Structured Output

Structured output dwingt LLM's om machineleesbare data (zoals JSON) te produceren die aan een vooraf gedefinieerd schema voldoet, zodat AI-output betrouwbaar door applicaties verwerkt kan worden.

Ook bekend als: JSON mode, constrained generation, gestructureerde output, guided generation

Wat is Structured Output?

Structured output is het vermogen van een AI-model om gegenereerde antwoorden te leveren in een gedefinieerd, voorspelbaar dataformaat — zoals JSON, XML of specifieke schema's — in plaats van vrije tekst. Het garandeert dat de modeloutput machineleesbaar is en direct door downstream-systemen kan worden verwerkt.

Waarom het ertoe doet

In productie-AI-systemen moet modeloutput betrouwbaar door code worden verwerkt. Vrije tekst is onvoorspelbaar — soms voegt het model extra uitleg toe, soms wijkt het format af. Structured output elimineert parsing-problemen en maakt AI-integratie in software betrouwbaar. Het is essentieel voor function calling, data-extractie en elke pipeline waar AI-output programmatisch wordt geconsumeerd.

Hoe het werkt

Benaderingen:

1. JSON Mode:

  • Het model wordt geïnstrueerd om uitsluitend geldige JSON te retourneren
  • OpenAI en Anthropic bieden native JSON mode aan
  • Geen schemavalidatie — alleen JSON-geldigheid

2. Structured Outputs (schema-gebaseerd):

  • Je definieert een JSON Schema dat de output moet volgen
  • Het model garandeert dat de output aan het schema voldoet
  • Ondersteunt verplichte velden, enums, geneste objecten

3. Constraint-gebaseerde generatie:

  • Outlines / Instructor — libraries die op token-niveau afdwingen dat de output geldig is
  • GBNF-grammatica's — formele grammatica's die de tokenruimte beperken

Typische use cases:

  • Data-extractie — extraheer naam, datum, bedrag uit e-mails
  • Function calling — model genereert functieargumenten als JSON
  • API-responses — model genereert gestructureerde API-antwoorden
  • Classificatie — model retourneert label + confidence als object

Voorbeeld

Een facturenscanner vraagt Claude om factuurgegevens te extraheren. Zonder structured output krijg je: "Het factuurbedrag is €1.250,00 van ACME B.V." Met structured output krijg je: {"vendor": "ACME B.V.", "amount": 1250.00, "currency": "EUR", "date": "2025-03-15"} — direct verwerkbaar door de boekhoudsoftware.