ChatGPT Prompting Strategies
Al cuore dell’interazione con ChatGpt si trova il concetto di prompt, il messaggio dell’utente che fornisce il contesto e le istruzioni per l’interazione.
In generale le strategie di prompting vertono su due fasi, dai contorni più o meno sfumati:
- Esposizione del contesto: in questa fase si forniscono informazioni al modello, si può essere più o meno specifici, ma si può immaginare come la precisione delle risposte generate sia potenzialmente direttamente proporzionale all’accuratezza e quantità delle informazioni;
- Definizione del task: qui si stabilisce in modo chiaro – non ambiguo – il compito che il modello deve eseguire. Un compito complesso può essere suddiviso in sotto-task sequenziali, in questo modo si riesce a controllare l’esecuzione del Code Interpreter interno a ChatGPT in modo puntuale, ed eventualmente correggere la rotta.
Queste fasi sono fondamentali per guidare efficacemente ChatGPT nella generazione di risposte pertinenti e accurate, migliorando così l’esperienza complessiva dell’interazione. In ambito data science si spazia dalla richiesta di scrittura di codice specifico per determinate funzionalità, esempio gestire l’importazione ed esportazione di dati, all’analisi, includendo anche grafici e modelli statistici, e alla creazione della documentazione. Ma andiamo al punto cruciale, esplorando alcuni possibili impieghi di ChatGPT nell’analisi dati, insieme alle indicazioni per la composizione di prompt ottimali per ciascun task.
Dalla versione di ChatGPT 4 (per gli account Plus), per ogni conversazione l’utente dispone di un ambiente virtuale (virtual environment), nel quale è attivo un interprete Python (che include il tool Advanced Data Analysis) in grado di eseguire codice scritto in questo linguaggio. Ma scritto da chi? Da ChatGPT ovviamente!
Task 1: Generazione del Codice
Esempio: Importazione/ Esportazione di Dati
Strategie di Composizione del Prompt:
- Specifica il linguaggio di programmazione (es. Python).
- Indica il formato del file (CSV/JSON….) e la struttura dei dati desiderata.
- Fornisci esempi di dati o descrivi il layout dei dati [opzionale ma consigliato se la struttura è complessa]
Task 2: Generazione del Codice
Esempio: Richiesta di implementare una funzionalità
Strategie di Composizione del Prompt:
- Specifica il linguaggio di programmazione (es. Python).
- Indica il formato del file (CSV/JSON….) e la struttura dei dati, nel caso si disponga di un dataset.
- Dettaglia in modo non ambiguo la funzionalità da implementare.
- Fornisci esempi sulle proprietà e/o forma del risultato voluto.
Task 3: creazione di dati sintetici
Esempio: Creazione di un sample dataset nel rispetto di determinate caratteristiche
Strategie di Composizione del Prompt:
- Specifica il dominio applicativo
- Indica il formato e la struttura dei dati desiderata (per la struttura tabulare specificare: numero colonne, intestazione, data type, range dei valori… e definire cosa rappresentano).
- Chiedi a ChatGPT di fornirti una serie di domande a cui rispondere per caratterizzare meglio il contesto.
- Fornisci esempi di dati o descrivi il layout dei dati [opzionale ma consigliato se la struttura è complessa].
Supponiamo di lavorare allo sviluppo di un progetto a scopo dimostrativo, use case, da proporre a potenziali clienti, ma di non disporre di un dataset appropriato. Se si è interessati a generare un modesto numero di valori, per lo più di carattere categorico (non numerico) che presentino anche una discreta variabilità, si può certamente ricorrere a ChatGPT per la creazione di un dataset sintetico. Nell’esempio sottostante verrà esposto il dominio applicativo, poi verrà chiesto a ChatGPT di formulare una serie di domande secondo lui utili a comprendere meglio la nostra richiesta, task, e infine la sintesi del dataset.
Contesto e task definiti con la tecnica Ask Before Answer. L’interazione incomincia con il delineare il contesto applicativo e prosegue con l’indicazione del task da completare, seguito da un’esplicita richiesta di fornire domande adeguate ad aumentare l’accuratezza della risposta, e quindi tali da guidare l’utente nella specifica di tutti i dettagli rilevanti. Quelle che seguono sono alcune delle domande poste da ChatGPT e che costituiscono come si intuisce, il cuore di questa strategia di prompting, capace di guidare anche gli utenti meno esperti nella completa formulazione della richiesta prima che questa venga presa in carico dal modello.
Di seguito è mostrata una possibile risposta.
A questo punto il testo generato può essere copiato e incollato in text editor e salvato come CSV, pronto ad essere usato come dataset di esempio, magari arricchendolo con una colonna per la data.
E aggiungendo qualche visualizzazione come a seguire.
Conclusioni
Abbiamo scoperto come ChatGPT possa rivoluzionare la Data Analysis, evidenziando l’importanza delle strategie di prompting per ottenere risultati accurati, ad esempio nella generazione di codice e creazione di dataset sintetici.
Non perdetevi la prossima puntata, dove esploreremo ulteriori applicazioni utili di ChatGPT nella Data Analysis, dall’analisi esplorativa (EDA) alla documentazione.
Leggi tutti i nostri articoli sulla Data Science
Vuoi scopri le ultime novità su Fivetran e nuove tecnologie di data science?
Visualitics Team
Questo articolo è stato scritto e redatto da uno dei nostri consulenti.
Fonti:
[1] www.trends.google.com
[2] www.trends.google.com
[3] www.trends.google.com
Condividi ora sui tuoi canali social o via email: