Vereiste: In de golf van het AI-tijdperk van grote modellen adopteren verschillende industrieën AI om ons te helpen bij het analyseren van data. Sommige worden via programmeertalen genoemd. We willen dat AI grote modellen JSON-gestructureerde data produceert. Hoe kunnen we verifiëren of de JSON-strings die door AI-modellen worden uitgevoerd overeenkomen met de types die door onze objectgeoriënteerde benadering worden gedefinieerd?
JsonSchema.Net
Soms moet je controleren of het JSON-object correct is geformatteerd (met de juiste sleutel- en waardetypes), of je wilt misschien opmerkingen toevoegen aan de data. Hier komt JSON Schema goed van pas. Net als XML Schema definieert JSON Schema een patroon voor JSON-gegevens. De JSON Schema validator kan verifiëren of een bepaald JSON-object voldoet aan de eisen die door het JSON Schema zijn gedefinieerd en voorziet de applicatie van aanvullende informatie over de gegevens. Deze evaluatie kan dienen als een voorbereidende stap vóór deserialisatie en is zeer nuttig.
Bron:De hyperlink-login is zichtbaar. Documentatie:De hyperlink-login is zichtbaar.
Momenteel zijn er zes versies bekend van de JSON Schema-specificatie:
- Concept 3
- Draft 4
- Draft 6
- Concept 7
- Draft 2019-09
- Draft 2020-12
Het JSON Schema-team raadt aan om Draft 7 of 2020-12 te gebruiken. JsonSchema.Net steun Draft 6 en later.
Basistutorial
We definiëren een object voor een persoon en genereren vervolgens een schema. De code is als volgt:
De output is als volgt:
{ "type": [ "object", "null" ], "eigenschappen": { "Naam": { "type": [ "snaar", "null" ] }, "E-mail": { "type": [ "snaar", "null" ] }, "Leeftijd": { "type": "integer" }, "Adres": { "type": [ "Array", "null" ], "items": { "type": [ "object", "null" ], "eigenschappen": { "Locatie": { "type": [ "snaar", "null" ] }, "Postcode": { "type": "integer" } }, "vereist": [ "Locatie", "Postcode" ] } } }, "vereist": [ "Naam", "E-mail", "Leeftijd", "Adres" ]
} Gebruik JsonSchema om te verifiëren of een JSON-string voldoet aan de objectstructuur. De code is als volgt:
Zoals hieronder getoond:
Met behulp van het builder-patroon is de code als volgt:
(Einde) |