Fogalomtár FOGALOM

JSON Schema

A JSON Schema egy deklaratív nyelv és szabvány JSON-adatok szerkezetének, adattípusainak és korlátozásainak leírására és ellenőrzésére. Segítségével pontosan meghatározható például, hogy egy JSON-objektumnak milyen mezőket kell tartalmaznia, azok milyen típusú értékeket fogadhatnak, és milyen validációs szabályoknak kell megfelelniük.  

A JSON önmagában az adatok formátumát határozza meg, de nem mondja meg, hogy egy adott alkalmazás milyen struktúrát vár el. Egy JSON Schema ezt a hiányzó „szerződést” írhatja le. Meghatározható például, hogy a product_name mező szöveg legyen, a price szám, a currency csak bizonyos értékeket vehessen fel, és egyes mezők kötelezőek legyenek.  

A szabályokat úgynevezett schema keywordök segítségével lehet megadni. Ilyen például a type, a properties, a required, az enum vagy az objektumok további mezőit szabályozó additionalProperties. Maga a schema is JSON-dokumentum, így géppel feldolgozható és programozott validációra használható.  

A JSON Schema több verzióban – úgynevezett draftokban – fejlődött. A jelenlegi publikált specifikáció a Draft 2020-12; ezért egy schema a $schema kulccsal azt is jelezheti, hogy melyik dialektus szabályait követi.  

Konkrét példa

Egy webshop AI-rendszerének minden termékről egységesen terméknevet, árat és pénznemet kell előállítania. A JSON Schema előírhatja, hogy az eredmény ilyen logikát kövessen:

{

  "type": "object",

  "properties": {

    "product_name": { "type": "string" },

    "price": { "type": "number" },

    "currency": { "type": "string" }

  },

  "required": ["product_name", "price", "currency"]

}

A schema ebben az esetben nem magukat a termékadatokat tartalmazza, hanem azt írja le, milyen szerkezetűnek kell lennie az adatnak.

Miért fontos?

A JSON Schema különösen fontos API-k, automatizációk és AI-rendszerek összekapcsolásánál, mert egyértelmű, géppel ellenőrizhető adatstruktúrát biztosít. Ha egy AI-modell kimenete egy következő rendszer bemenete lesz, nem elég, hogy a válasz ember számára érthető legyen: a fogadó szoftvernek is kiszámíthatóan fel kell tudnia dolgozni.

Ezért használható JSON Schema például Structured Outputs és Function Calling esetén is az elvárt struktúra meghatározására. Fontos azonban, hogy a schema az adatok szerkezeti megfelelőségét képes szabályozni; önmagában nem garantálja, hogy a benne szereplő információ tényszerűen helyes.

Kapcsolódó fogalmak

Structured Outputs
Function Calling
API
Tool Use
JSON