Nell’ultimo periodo, l’avvento dei LLM (Large Language Models) open source ha democratizzato l’accesso a potenti modelli di linguaggio. Progetti come OpenAI GPT (Generative Pre-trained Transformer) hanno reso disponibili modelli ad alte prestazioni per sviluppatori e ricercatori di tutto il mondo. Già a metà 2023, in tanti sostenevano che i modelli open source avrebbero superato quelli di OpenAI e Google: gli LLM aperti hanno fatto registrare un successo senza confini, guidando una vera e propria rivoluzione nell’ambito dell’intelligenza artificiale e dell’elaborazione del linguaggio naturale. Va rimarcato il contributo significativo di Hugging Face, protagonista chiave di questa evoluzione, nell’accelerazione della diffusione e dell’accessibilità di modelli avanzati.
L’immagine, tratta dal documento “ChatGPT’s One-year Anniversary: Are Open-Source Large Language Models Catching up?“, mostra lo sviluppo degli LLM nel corso del tempo. I modelli posti al di sotto della freccia curvilinea sono quelli proprietari; al di sopra della freccia ci sono i modelli open source.
Cos’è il chatbot HuggingChat e come funziona
Così come ChatGPT, Cohere Coral e altri ancora, HuggingChat è un’interfaccia grafica per l’utente finale. Grazie a HuggingChat, tuttavia, gli utenti possono interagire direttamente con LLM open source, senza installare nulla in ambito locale.
Presentata a fine aprile 2023, HuggingChat è un chabot basato su modelli di linguaggio di grandi dimensioni, alimentato da un modello di elaborazione del linguaggio naturale (NLP) chiamato “Open Assistant“.
Come già evidenziato, a differenza di ChatGPT, sviluppato da OpenAI e basato su una tecnologia closed source, HuggingChat è un progetto open source, sottolineando l’importanza della trasparenza, inclusività, responsabilità e distribuzione dei diritti nell’ambito dell’IA interattiva.
A distanza di appena pochi mesi, HuggingChat è progressivamente diventato un progetto sempre più maturo tanto che gli utenti possono adesso contare sulla possibilità di scegliere manualmente uno tra i vari LLM proposti e direttamente supportati. Allo stato attuale, per impostazione predefinita, HuggingChat propone Mistral ma, cliccando sull’icona a forma di ingranaggio, si può optare per Llama, CodeLlama, Falcon e openchat.
System prompt e condivisione dei dati
Nella schermata delle impostazioni del modello, l’utente ha la possibilità di impostare eventualmente un System prompt. Il System prompt è una funzionalità che consente agli utenti di personalizzare le risposte del chatbot. È possibile cioè definire dei prompt di sistema che istruiscono il modello su come rispondere in determinate situazioni o di fronte a certi argomenti.
In questo modo si ha la possibilità di influenzare il comportamento del modello in modo più efficiente e preciso, con un controllo nettamente più granulare rispetto ad altri approcci e soluzioni.
Con un clic su pulsante Application settings, si può eventualmente disabilitare l’opzione Share conversations with model authors nel caso in cui si volesse impedire il trasferimento dei dati scambiati con il chatbot durante le conversazioni.
Sviluppo di codice e interazione con le informazioni più aggiornate pubblicate sul Web
Come altri chatbot, anche HuggingChat può essere utilizzato per sviluppare codice ottenendo suggerimenti pratici con qualunque linguaggio di programmazione. Tant’è vero che nella home page del servizio campeggia un esempio che porta il modello generativo a creare codice Python per la realizzazione di un videogioco simile a Snake.
Attivando invece l’opzione Search Web in basso, HuggingChat prova a migliorare le risposte utilizzando informazioni più attuali, acquisite previa ricerca sul Web. Purtroppo, in questo caso, i risultati sono al momento tutt’altro che entusiasmanti. In questo senso, i nuovi modelli Perplexity conoscono i fatti recenti e sono molto più abili nel generare contenuti a partire da informazioni su accadimenti recenti. I risultati sportivi restano comunque un po’ il tallone d’Achille per entrambe le piattaforme.
Ad ogni modo va sempre rammentato che quando si utilizza qualsiasi LLM, i risultati offerti a valle di ciascun prompt fornito in ingresso sono imprevedibili. Ciò significa che se si modificano leggermente le informazioni in input, la qualità e l’accuratezza dei risultati possono variare in modo significativo.
Credit immagine in apertura: iStock.com/Vertigo3d