Anche se esistono diverse declinazioni del concetto di AI la più diffusa, o quantomeno quella che ha sbloccato la fruizione dell’intelligenza artificiale da parte del grande pubblico, è certamente quella dei ChatBot. Interfacce in cui inserire domande (ed altre tipi di interazioni) e da cui ricevere risposte.
La più famosa è certamente ChatGPT ed il principio di funzionamento è sempre quello: dietro alla chat c’è un modello, un Larger Language Model (LLM) che nel caso di ChatGPT al momento risulta essere GPT-4, sviluppato da OpenAI. Di questi modelli però, come stiamo raccontando da tanto, ne esistono a decine, centinaia, migliaia, milioni, se si pensa ad Hugging Face, in buona parte addirittura open-source.
Quindi la sostanza è che, dato un LLM usato come backend, avendo un’interfaccia compatibile (e si sta lavorando per avere protocolli standard, anche se purtroppo ancora non sono la normalità) sarà possibile sfruttarlo come AI companion.
E cosa ci sarebbe di meglio di un’interfaccia locale, che possa operare su più LLM da scaricare per poter essere utilizzati offline e magari anche open-source? Niente! Ecco dove si colloca Jan, un progetto che fa esattamente quanto descritto, ed anche qualcosina di più.
Jan è un’alternativa open-source a ChatGPT che supporta diversi tipi di engine (i backend di cui parlavamo prima) e consente dinamicamente di scaricare LLM per un utilizzo locale e, da specifiche, 100% offline.
Il funzionamento di Jan è facilmente intuibile osservando questa demo presente sulla pagina GitHub del progetto, una volta selezionato il modello, ed esiste un automatismo per scaricare tutti i modelli compatibili localmente, sarà possibile effettuare tutte le query del caso.
Il software è completamente cross-platform, ci sono pacchetti per Windows, MacOS e, ovviamente Linux, sia come pacchetto jan.deb (quindi tanto in Debian quanto in Ubuntu dovrebbe installarsi senza colpo ferire) che come jan.AppImage. Piccola chiosa sulla grandezza del file: più di un gigabyte, senza nessun LLM, la cui selezione viene richiesta al primo avvio:
Una volta scaricato il modello sarà possibile utilizzarlo, selezionando “Use”:
Il ChatBot come un qualsiasi ChatGPT, ma i risultati potrebbero essere, per così dire… Imprevisti:
Al netto che il Large Language Model Llama 3.2 1B Instruct Q8 non sa che cosa sia il nostro Blog e tiri ad indovinare, diciamo che vale il discorso di tutti gli LLM: più sono capienti, più danno risposte attendibili. Pertanto una selezione attenta del Large Language Model diventa cruciale per far performare al meglio questo strumento.
La parte più interessante rimane il fatto di poter caricare LLM direttamente da Hugging Face, come mostra l’interfaccia, pertanto ci sono, letteralmente, milioni di modelli da provare.
Ad avere il tempo 🙂
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.