Dopo qualche articolo introduttivo, prettamente teorico, cerchiamo di rompere la monotonia e proviamo qualcosa di concreto.
Uno dei moltissimi problemi che si devono affrontare durante lo sviluppo di una applicazione è l’inserimento di alcune decine di righe di dati di prova, per poter testare l’applicazione.
Infatti, l’utilizzo di dati reali potrebbe non essere praticabile, per motivi di privacy, per cui spesso si utilizzano dati inventati, anche se abbastanza realistici.
Proviamo a utilizzare ChatGPT per generare un po’ di dati per una immaginaria tabella di dati anagrafici.
ChatGPT a supporto dello sviluppo di software
In concreto, si tratta di chiedere a ChatGPT un insieme di righe strutturate nel modo più idoneo alla loro importazione in una tabella esistente.
La struttura più comoda per fare questo è un file CSV, che nella lingua italiana ha i campi separati da un punto e virgola (;), dato che la virgola è utilizzata come separatore decimale. Nel mondo anglosassone, invece, il separatore dei campi è una virgola (da cui il nome CSV = Campi Separati da Virgola), mentre il separatore decimale è un punto.
Il tipo di formato deve essere specificato a ChatGPT direttamente nel prompt. Per dirla tutta, è necessario essere molto precisi e specifici su quello che vogliamo ottenere, in modo che ChatGPT possa generare i dati esattamente nella modalità che desideriamo.
Un prompt adatto potrebbe essere questo:
“Ho bisogno di avere un set di dati di test da inserire in un database per una applicazione che sto sviluppando. Crea un file in formato CSV, con campi separati dal punto e virgola. Le colonne sono: numero progressivo, cognome, nome, sesso, data di nascita, città, numero di telefono. Le righe di dati devono essere 50, con dati casuali, in italiano.”
ChatGPT ci penserà un po’ e poi produrrà un risultato simile al seguente (abbiamo omesso parte del risultato per non sprecare spazio inutilmente):
Ecco un file CSV con 50 righe di dati casuali in italiano, seguendo le specifiche fornite:
Numero progressivo;Cognome;Nome;Sesso;Data di nascita;Città;Numero di telefono
1;Rossi;Mario;Maschio;12/05/1988;Roma;3331234567
2;Bianchi;Laura;Femmina;03/09/1995;Milano;3459876543
3;Ferrari;Luigi;Maschio;21/11/1980;Torino;3478765432
4;Esposito;Giulia;Femmina;15/07/1992;Napoli;3665432198
5;Russo;Anna;Femmina;27/03/1985;Palermo;3891234567
...
46;Salvatore;Elisa;Femmina;05/04/1983;Rimini;3276543210
47;Costa;Roberto;Maschio;29/06/1988;Ferrara;3456789012
48;Orlando;Claudia;Femmina;20/02/1981;Modica;3409876543
49;Carbone;Luigi;Maschio;15/09/1979;Siena;3335678901
50;Greco;Sofia;Femmina;10/03/1996;Gorizia;3887654321
Puoi importare questo file CSV nel tuo database per avere un set di dati di test.
Se vi servono altre righe, basta chiedere: “Puoi crearne altre per arrivare fino a 100?”. Il risultato che otterremo sono altre 50 righe di dati.
Notate come ChatGPT sia in grado di interpretare correttamente il nome del primo campo (“Numero progressivo”) e di impostarlo come numero crescente da 1 in poi. Non solo: quando chiederete altre 50 righe di dati, la numerazione progressiva riprenderà dall’ultimo numero utilizzato: 51, 52 ….
Vogliamo azzardare qualcosa di più complesso? Proviamo ad aggiungere anche il codice fiscale, con qualche campo ulteriore. Ecco il prompt (abbiamo avviato una nuova chat per evitare che ChatGPT utilizzasse i dati precedenti, quindi il risultato sarà ovviamente diverso):
“Ho bisogno di avere un set di dati di test da inserire in un database per una applicazione che sto sviluppando. Crea un file in formato CSV, con campi separati dal punto e virgola. Le colonne sono: numero progressivo, cognome, nome, sesso, data di nascita, comune di nascita, codice catastale, codice fiscale, città, numero di telefono. Le righe di dati devono essere 50, con dati casuali, in italiano. Il codice fiscale deve essere corretto, sulla base del cognome, nome, data di nascita, sesso e codice catastale relativo al comune di nascita.”
Ecco il risultato:
Numero Progressivo;Cognome;Nome;Sesso;Data di Nascita;Comune di Nascita;Codice Catastale;Codice Fiscale;Città;Numero di Telefono
1;Rossi;Mario;M;15/05/1980;Roma;H501;RSSMRA80E15H501W;Roma;3331234567
2;Bianchi;Giulia;F;23/07/1995;Milano;F205;BNCGJL95M63F205N;Milano;3332345678
3;Ferrari;Luca;M;10/12/1988;Firenze;D612;FRRLCU88T10D612I;Firenze;3333456789
4;Russo;Martina;F;05/09/1976;Napoli;F839;RSSMTN76P45F839C;Napoli;3334567890
5;Esposito;Laura;F;20/03/1990;Bologna;B979;SPSLRA90C60B979P;Bologna;3335678901
...
Da una verifica a campione sembra proprio che i codici fiscali siano corretti e coerenti con tutti i dati di ciascuna persona indicata. Notevole come risultato!
Ovviamente questa tecnica può essere utilizzata per qualsiasi tabella, evitando però di dare per scontato che ChatGPT sia in grado di mantenere anche la coerenza rispetto alle chiavi e quindi all’integrità relazionale. Fornendo sufficienti informazioni nel prompt probabilmente è possibile, ma questo ve lo lasciamo come esercizio per casa. Buon divertimento!