Fra le numerose opportunità offerte dall’intelligenza artificiale, quella di poter interagire con sistemi automatici attraverso linguaggio naturale sta guadagnando sempre maggiore popolarità. È in questo scenario che si colloca Cheshire Cat, un assistente virtuale open source che spicca per la sua versatilità e personalizzabilità. Questa nuova tecnologia non solo offre una vasta gamma di funzionalità, ma si presenta come un vero e proprio framework di sviluppo, alimentato da una community attiva e in costante crescita.
Il ruolo crescente dell’Intelligenza artificiale nella nostra vita
L’IA, del resto, e in particolare l’intelligenza artificiale generativa, diventerà sempre più parte integrante della nostra vita, del modo in cui “facciamo cose” e in particolare della nostra attività lavorativa. Siamo già e saremo in futuro sempre più integrati con l’IA e arriveremo al punto che non probabilmente ne potremo più fare a meno, vivendo in simbiosi con gli assistenti virtuali basati sull’intelligenza artificiale.
Quello che ha fatto si che oggi l’IA sia diventata popolare, accessibile e utilizzabile da tutti, casalinga di Voghera inclusa, è stata non soltanto la messa a punto degli LLM (e in particolare dei Transformer), ma soprattutto il fatto che l’IA sia stata “vestita” in modo tale da poter assumere varie forme, tra cui anche quella di un chatbot, un assistente virtuale a cui possiamo chiedere praticamente qualunque cosa. E la cosa straordinaria è che non dobbiamo chiederglielo in Python o in altri linguaggi di programmazione, ma semplicemente usando il linguaggio naturale.
Prompt engineering: l’arte di formulare richieste all’IA
Possiamo quindi chiedere all’IA di eseguire un particolare task esattamente come faremmo se ci trovassimo davanti a un esperto o a un professionista che abbia la conoscenza necessaria a svolgere quel determinato compito, rendendo l’interazione con una IA alla portata di tutti.
Certo, è importante fare le richieste nel modo corretto per poter ottenere le risposte appropriate, ed è questa la ragione per cui diventa opportuno apprendere e conoscere bene le varie tecniche di “prompt engineering”. La risposta di una IA dipenderà infatti anche da come viene costruita la domanda. Una traduzione, la scrittura di codice in un determinato linguaggio di programmazione, la sintesi di un documento, la generazione di immagini per una presentazione, la presentazione stessa e tantissimi altri task passano oggi e passeranno sempre più spesso in futuro attraverso richieste fatte agli assistenti virtuali, andando di fatto a potenziare le nostre capacità professionali e creative.
Cheshire Cat: l’assistente virtuale open source
Ma è possibile pensare di costruire noi stessi il nostro assistente virtuale? È possibile in altre parole costruire un assistente virtuale in modo da potenziarlo, aggiungergli funzionalità specifiche e renderlo così più efficace e più adatto a quello che è l’uso che ne vogliamo fare e a quelle che sono realmente le nostre esigenze?
L’assistente virtuale Cheshire Cat è l’idea che nasce dall’intuizione di Piero Savastano, data scientist esperto di Big Data e Intelligenza Artificiale, noto tra le altre cose per essere anche un divulgatore di questi temi sul suo canale YouTube nonché su TikTok. Cheshire Cat (Stregatto) prende il nome da uno dei personaggi del romanzo “Alice nel paese delle meraviglie” di Lewis Carroll ed è un interessantissimo progetto Open Source che si sta rapidamente diffondendo all’interno delle comunità di sviluppatori che cooperano alla crescita del progetto e che sta avendo sempre più successo tra un numero crescente di utilizzatori.
L’idea che sta alla base è quella di poter consentire a tutti, cittadini, professionisti, imprese e pubbliche amministrazioni di “reclamare il diritto di costruirsi in casa e di gestirsi il proprio assistente virtuale”.
Un assistente virtuale non legato a un unico modello di IA
Va detto che lo Stregatto non implementa un particolare modello di intelligenza artificiale ma “vive” al di sopra di essi. Questo vuol dire che una volta installata, l’applicazione può essere configurata per lavorare con uno o più modelli LLM a scelta tra quelli oggi disponibili, connettendosi a essi quando si tratta di eseguire i vari task richiesti dall’utente.
Si tratta in sostanza di un’applicazione indipendente che può essere facilmente installata sul proprio computer e che una volta configurata consente di interagire con gli LLM desiderati attraverso API. Ad esempio, per poterlo utilizzare con GPT è necessario essere in possesso di un’API Key di OpenAI.
Le funzionalità aggiuntive di Cheshire Cat
Questo aspetto presenta il vantaggio di poter aggiungere all’applicazione una serie di funzionalità che non sono invece presenti negli assistenti virtuali di default. Lo Stregatto può ad esempio “ricordare” i dettagli delle conversazioni e delle richieste fatte in precedenza, rendendolo particolarmente efficace nelle risposte da fornire all’utente man mano che le conversazioni si sviluppano e proseguono. Vengono ricordati anche i documenti che vengono caricati nelle conversazioni. In questo modo le risposte terranno conto dei contenuti dei documenti caricati, rendendo l’assistente virtuale particolarmente adatto per poter essere impiegato, ma questo è solo uno dei possibili esempi, all’interno di uffici sia pubblici che privati.
Cheshire Cat come framework: l’utilizzo dei plug-in
In realtà è riduttivo chiamare il “Gatto” un’applicazione. Si tratta infatti di un vero e proprio framework per cui diventa possibile anche aggiungere funzionalità attraverso l’utilizzo di plug-in. Sono diversi quelli già disponibili e pronti per essere installati ma è possibile ovviamente crearne di totalmente nuovi in base alle proprie necessità e avendo la consapevolezza di poter contare sul supporto di una intera community che sta crescendo e che sta maturando attorno a questo progetto.
Cheshire Cat si ispira infatti al funzionamento di Wordpress, il content management system più popolare e utilizzato nel mondo attraverso cui possiamo realizzare di tutto: blog, siti web, e-commerce, siti aziendali di ogni tipo grazie proprio ai tanti plug-in e ai tanti temi disponibili, su cui si è sviluppato un intero mercato. È il meccanismo della coda lunga, dove ci sono progetti giganti attorno a cui si sviluppano schiere di iniziative più piccole. Cheshire Cat può così rappresentare per l’IA e gli LLM quello che Wordpress rappresenta per il Web.
Una community attiva e in crescita attorno a Cheshire Cat
Ci si aspetta quindi che si cominci a parlare sempre più di “Agenti” estensibili attraverso plug-in e non soltanto di LLM, che diventeranno essenzialmente una commodity da utilizzare e su cui costruire nuove funzionalità e nuovi progetti. Partito come un gioco, come un tutorial, dopo un po’ sono arrivati e si sono uniti a Cheshire Cat numerosi sviluppatori indipendenti, tra cui diverse imprese. Si tratta di circa 3000 partecipanti provenienti da varie parti del mondo che è possibile incontrare su Github e Discord, ma anche nei Meetup delle maggiori città d’Europa. Un modo “sano” di vivere l’IA, decentralizzato e legato più a creare e a condividere, nella piena logica Open. Questo è un aspetto molto importante da sottolineare, in quanto è una cosa che in Italia accade raramente.