Követelmény: Az AI nagy modell korszakában különböző iparágak alkalmazzák az MI-t, hogy segítsenek az adatok elemzésében. Néhányat programozási nyelveken keresztül hívnak. Azt szeretnénk, hogy az AI nagy modellek JSON-strukturált adatokat adjanak ki. Hogyan ellenőrizhetjük, hogy az AI modellek által kiadott JSON stringek megfelelnek-e az objektumorientált megközelítésünk által meghatározott típusoknak?
JsonSchema.Net
Néha ellenőrizni kell, hogy a JSON objektum megfelelően van formázva (a megfelelő kulcs- és értéktípusokkal), vagy érdemes lehet hozzászólásokat hozzáadni az adatokhoz. Itt jön jól a JSON séma. Az XML sémához hasonlóan a JSON séma mintát határoz meg a JSON adatokhoz. A JSON séma validátor ellenőrizheti, hogy egy adott JSON objektum megfelel-e a JSON séma által meghatározott követelményeknek, és további információkat nyújt az alkalmazásnak az adatokról. Ez az értékelés előkészítő lépésként szolgálhat a deserializáció előtt, és nagyon hasznos.
Forrás:A hiperlink bejelentkezés látható. Dokumentáció:A hiperlink bejelentkezés látható.
Jelenleg hat JSON séma specifikáció változata ismert:
- 3. változat
- 4. változat
- 6. változat
- 7. változat
- Draft 2019-09
- Draft 2020-12
A JSON Schema csapata a 7-es vagy 2020-12-es draft használatát javasolja. JsonSchema.Net támogatom a 6. és későbbi tervezetet.
Alapvető oktató
Definiálunk egy objektumot egy személy számára, majd egy sémát generálunk. A kód a következő:
A kimenet a következő:
{ "típus": [ "tárgy", "null" ], "tulajdonságok": { "Név": { "típus": [ "String", "null" ] }, "Email": { "típus": [ "String", "null" ] }, "Idő": { "type": "egész szám" }, "Cím": { "típus": [ "Array", "null" ], "tárgyak": { "típus": [ "tárgy", "null" ], "tulajdonságok": { "Helyszín": { "típus": [ "String", "null" ] }, "Irányítószám": { "type": "egész szám" } }, "szükséges": [ "Helyszín", "Irányítószám" ] } } }, "szükséges": [ "Név", "Email", "Idő", "Cím" ]
} Használd a JsonSchema használatát, hogy ellenőrizd, megfelel-e egy JSON string az objektum szerkezetének. A kód a következő:
Ahogy az alábbiakban látható:
A builder minta alapján a kód a következő:
(Vége) |