Kontrakty datových rozhraní AI aplikací

Schéma na popis a validaci JSON dat

JSON Schema je deklaratívny jazyk na popis struktury, typů, povolených hodnot a validačních omezení JSON inštancií. Klíčové slova definují objekty, vlastnosti, povinné pole, pole položek, číselné rozsahy, regulárne výrazy a kompozíci subschém. Dialekt se identifikuje přes $schema a opakovatelné definice přes $defs a $ref. V AI aplikacích schéma formalizuje výstup nástroje, payload API, konfiguraci pipeline nebo očekávaný strukturovaný výsledek modelu. Validná instance však nemusí být vecne správná a podpora jednotlivých draftů se liší mezi validátormi.

Poslední odborná revize
7. srpna 2026
Odborný garant
Miroslav Schmiedt
ID
AI-GEO-J-24

Odborná definice

Odborná definice

JSON Schema je deklaratívny jazyk na popis struktury, typů, povolených hodnot a validačních omezení JSON inštancií. Klíčové slova definují objekty, vlastnosti, povinné pole, pole položek, číselné rozsahy, regulárne výrazy a kompozíci subschém. Dialekt se identifikuje přes $schema a opakovatelné definice přes $defs a $ref. V AI aplikacích schéma formalizuje výstup nástroje, payload API, konfiguraci pipeline nebo očekávaný strukturovaný výsledek modelu. Validná instance však nemusí být vecne správná a podpora jednotlivých draftů se liší mezi validátormi.

Srozumitelné vysvětlení

Srozumitelné vysvětlení

Aplikace očekává, že model vrátí objekt s názvem produktu, cenou jako nezáporným číslem a zoznamom kategorií. JSON Schema přesně zapíše, které pole musí existovat, jaký mají typ a jaké omezení platí. Validátor potom odmietne chýbajúcu cenu nebo text místo čísla ještě před tím, jak se data dostanou do databáze. Schéma však nezistí, že model uviedol cenu 19,90, ačkoli správná je 29,90. Chrání formálny kontrakt, ne pravdivost obsahu. Verze schémata musí být kompatibilná s používaným validátorom.

Časté otázky

Časté otázky

Co dělá klúč required?

V objektu vymenuje vlastnosti, které musí být prítomné. Neurčuje jejich typ, ten se definuje v properties nebo odkazovanej schéme. Pole může být povinné a zároveň povolovat null, pokud to typ výslovne pripúšťa.

Jako zakázat neočakávané pole?

Používá se additionalproperties: false, případně novější unevaluatedproperties podle kompozíce schémata. Prísne nastavení chrání kontrakt, ale komplikuje zpětnou kompatibilitu při pridávaní nových polí.

Co je rozdíl mezi oneof a anyof?

anyof vyžaduje splnění aspoň jedné subschémy. oneof vyžaduje přesně jednu, takže instance vyhovujúca dvom vetvám selže. Při prekrývajúcich se vetvách může oneof přinést prekvapivé chyby a vyšší validační náklady.

Jak se schéma verzuje?

Samotný dialekt označuje $schema, identitu dokumentu může označit $id. Aplikačné verze se riadia zvlášť přes URL, repozitár nebo pole verze. Změna povinného pola je zpravidla nekompatibilná a vyžaduje migraci klientů.

Zaručí schema-constrained generation validný JSON?

Pokud implementace vynucuje gramatiku odvodenou ze podporovanej podmnožiny schémata, může výrazně zvýšit syntaktickou a štrukturálnu validitu. Stále je třeba serverový validátor, kontrolu limitů a vecnou validaci hodnot.

Související pojmy

Související pojmy

Zdroje a redakční stopa

Zdroje a redakční stopa

  • JSON Schema, Specification JSON Schema, Glossary

Definícia je autorská odborná syntéza. Pri právnych a regulačných rozhodnutiach má prednosť aktuálne oficiálne znenie predpisu a posúdenie konkrétneho prípadu.