Requisito: Nell'era dei grandi modelli dell'IA, varie industrie stanno adottando l'IA per aiutarci ad analizzare i dati. Alcuni sono chiamati tramite linguaggi di programmazione. Vogliamo che i grandi modelli di IA producano dati strutturati in JSON. Come possiamo verificare se le stringhe JSON prodotte dai modelli AI corrispondono ai tipi definiti dal nostro approccio orientato agli oggetti?
JsonSchema.Net
A volte potresti dover verificare che l'oggetto JSON sia correttamente formattato (con i tipi di chiave e valore corretti), oppure potresti voler aggiungere commenti ai dati. Ed è qui che lo schema JSON torna utile. Simile allo schema XML, lo schema JSON definisce uno schema per i dati JSON. Il validatore dello schema JSON può verificare se un dato oggetto JSON soddisfa i requisiti definiti dallo schema JSON e fornisce all'applicazione informazioni aggiuntive sui dati. Questa valutazione può servire come passo preparatorio prima della deserializzazione ed è molto utile.
Fonte:Il login del link ipertestuale è visibile. Documentazione:Il login del link ipertestuale è visibile.
Attualmente, sono note sei versioni della specifica dello schema JSON:
- Bozza 3
- Bozza 4
- Bozza 6
- Bozza 7
- Draft 2019-09
- Draft 2020-12
Il team JSON Schema raccomanda di utilizzare la Bozza 7 o il 2020-12. JsonSchema.Net supportare la Bozza 6 e successive.
Tutorial di base
Definiamo un oggetto per una persona, poi generiamo uno schema. Il codice è il seguente:
L'output è il seguente:
{ "tipo": [ "oggetto", "nullo" ], "proprietà": { "Nome": { "tipo": [ "stringo", "nullo" ] }, "Email": { "tipo": [ "stringo", "nullo" ] }, "Età": { "tipo": "intero" }, "Indirizzo": { "tipo": [ "schiera", "nullo" ], "oggetti": { "tipo": [ "oggetto", "nullo" ], "proprietà": { "Location": { "tipo": [ "stringo", "nullo" ] }, "Codice CAP": { "tipo": "intero" } }, "richiesto": [ "Posizione", "CAP" ] } } }, "richiesto": [ "Nome", "Email", "Age", "Indirizzo" ]
} Usa JsonSchema per verificare se una stringa JSON è conforme alla struttura dell'oggetto. Il codice è il seguente:
Come mostrato di seguito:
Utilizzando il pattern builder, il codice è il seguente:
(Fine) |