Gidsen

Schema-ontwerp

JSON Schema's ontwerpen die de AI betrouwbaar kan extraheren

Het Schema dat je doorgeeft aan /extract is ook een prompt. Elke veldnaam, beschrijving en typehint wordt gelezen door het model. Een goed gevormd Schema verbetert de nauwkeurigheid drastisch.

Veldbenaming

Gebruik namen die als Engels lezen. Het model presteert veel beter met productName dan met pn of name1.

{ "type": "object", "properties": {
  "productName": { "type": "string" },
  "currentPrice": { "type": "number" }
} }

Veldbeschrijvingen

Voeg description toe aan alles wat dubbelzinnig is. "price" kan MSRP, huidige prijs of prijs per eenheid zijn — wees expliciet:

{ "currentPrice": {
  "type": "number",
  "description": "Final price after discount, in USD"
} }

Verplicht vs optioneel

Markeer alleen de velden die je echt nodig hebt. Verplichte velden laten de hele extractie mislukken als het model ze niet kan vinden — gebruik spaarzaam.

Nesting

Gebruik bij voorkeur één niveau van nesting waar dat nuttig is (address.city). Diepere nesting (3+ niveaus) schaadt doorgaans de extractiekwaliteit.

Veelvoorkomende valkuilen

  • Dubbelzinnige typen gebruiken (string voor getallen zoals "$19.99") — gebruik liever number en laat het model parsen
  • Vage enums zonder beschrijvingen
  • Verplichte velden die niet daadwerkelijk op elke pagina aanwezig zijn

Deze pagina wordt uitgebreid met een schema-kookboek — kom snel terug.