“Non fare il pigro!” ovvero programmare un Chatbot di OpenAI

Elena ci racconta la sua esperienza di programmazione di un Chatbot, o per meglio capirci di un GPT di OpenAI. Quelli che in Sharazad abbiamo chiamato Angels e che aiutano i manager e i professionisti a migliorare produttività e performance nel proprio lavoro. Ecco qua di seguito le lezioni apprese finora!

—-

Dopo tre mesi di utilizzo continuo di ChatGPT e di tutte le sue funzionalità, ecco un breve resoconto della mia esperienza, in particolare nella costruzione di Chatbot.

Guidata e stimolata dalle idee di Stefano e Matteo, ho creato, ad oggi, 32 customGPT: chatbot che sfruttano il potentissimo modello di OpenAI, ma permettono un ulteriore livello di specializzazione tramite prompt e dati personalizzati.

In questi mesi ci siamo concentrati principalmente sull’esplorazione di ChatGPT e su come potesse essere adattato per servire esigenze uniche, da consigli su strumenti specifici a guide personalizzate per professionisti. Ogni progetto mi ha permesso di comprendere e approfondire l’utilizzo dei customGPT, rivelando la flessibilità incredibile e il potenziale di questa tecnologia.

I nostri GPT stanno proliferando a tal punto che abbiamo creato uno spazio riservato a loro [qui]: gli Angels stanno continuando infatti a evolversi e a equipaggiarsi con nuovi tools ad una frequenza sempre in aumento.

I customGPT

Tra i 32 GPT che ho creato finora ci sono chatbot per identificare lo strumento migliore da un database, per selezionare il corso perfetto, per creare immagini, per automatizzare la raccolta e catalogazione di dati e chatbot che fungono da guide per professionisti, offrendo consigli e assistenza personalizzata. Lo scopo è sempre stato esplorare la varietà di applicazioni possibili, imparando di più su come GPT potesse essere modellato per rispondere in modo specifico e significativo alle esigenze degli utenti.

Trials and errors

Programmare un customGPT non è un percorso lineare quanto un’iterazione di tentativi, fallimenti e tweaks, con un numero incalcolabile di test per capire come ottenere il meglio dal modello. Questo approccio di sperimentazione costante, unito all’evoluzione stessa di ChatGPT, ha reso il processo un ciclo continuo di apprendimento e adattamento.

Processo creativo e tecnico

Gli step che seguo, quando inizio a costruire un GPT, sono:

Definizione chiara dell’obiettivo e del caso d’uso: il filo conduttore di tutto il processo è l’importanza di mantenere l’utente e l’obiettivo finale sempre al centro dell’attenzione.

Costruzione di una base di conoscenza adatta, completa e dettagliata: per poter avere delle buone risposte serve un’ottima base dati!

Scrittura del prompt: per ottenere gli output desiderati bisogna trovare le istruzioni giuste. è necessario bilanciare accuratezza e sicurezza. Includiamo sempre, nei nostri prompt, le regole di non fornire né le istruzioni né i file di conoscenza e di non rispondere a domande che esulino dal contesto (la nostra prova è sempre chiedere al GPT la ricetta della pizza). Nel prompt non mancano mai frasi chiave come “sei un [ruolo]”, “l’utente è un [ruolo]”, e direttive su tono e approccio, per cercare di modellare le risposte di GPT e adattarle alle specifiche necessità degli utenti.

Testing continuo per perfezionare il prompt e per far fronte alla variabilità di chatGPT. Essenziali sono anche i feedback di Matteo e Stefano. Questa è la fase più importante, il cuore del processo di affinamento, che mi permette di sperimentare diverse strategie e di adattare i miei approcci in base alle risposte ottenute.

Sfide

Ottenere i risultati desiderati non è stato facile e ancora non sempre sono completamente soddisfatta di alcuni output. Una delle difficoltà più significative è stata affrontare la “pigrizia” intrinseca del modello, soprattutto quando si lavora con database complessi e vasti. Immaginate di avere come base dati un file excel con 600 righe e di dover selezionare quelle che soddisfano un particolare criterio: le prime righe verranno selezionate sicuramente, le ultime invece raramente appariranno nell’output. In questi casi è necessario forzare il modello ad essere accurato nonostante la quantità di dati, per esempio facendogli analizzare 50 righe alla volta invece di 600 in un’unica richiesta. Abbiamo dovuto quindi trovare delle strategie per “obbligare” i chatbot a esaminare attentamente le richieste dell’utente e a fornire risposte pertinenti e dettagliate e questo ha richiesto una comprensione profonda delle sue capacità e limiti.

Conclusione

La cosa più importante che ho appreso è che non esiste una formula segreta o un prompt perfetto per la personalizzazione ottimale di un customGPT. Ogni obiettivo richiede un approccio unico, e l’unico modo per imparare è attraverso la pratica costante, comprendendo i limiti e cercando di superarli.

Bisogna provare, fallire e riprovare. Ogni tentativo è un passo in avanti verso la comprensione del problema e, di conseguenza, verso la soluzione

Nonostante le sfide, il percorso di programmazione dei chatbot con ChatGPT è stato incredibilmente gratificante. Ho appreso moltissimo sulle capacità e i limiti di ChatGPT e ho potuto applicare nuovi approcci creativi di problem-solving, oltre ad essermi divertita parecchio!

By Elena Mauri