Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_meta_box_present is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_send_notification is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_modify_title_and_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_heading is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$onesignal_notification_custom_content is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_wordproof_timestamp is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_inviato_in_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$response_body is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_e4e72e562bdd4dab48b8738b060a1f00 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_e4e72e562bdd4dab48b8738b060a1f00 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_subject is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_newsletter_summary is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Ollama, l'AI sbarca sul vostro PC | IlSoftware.it

Ollama, l'AI sbarca sul vostro PC

L'intelligenza artificiale e i modelli generativi diventano alla portata di tutti con Ollama. Il progetto porta in locale, sui propri sistemi, gli LLM open source migliori, più apprezzati e più efficaci.

I LLM (Large Language Models) sono modelli linguistici di grandi dimensioni addestrati su enormi quantità di testo al fine di apprendere le strutture linguistiche e le relazioni semantiche. Ollama è un framework open source progettato per la gestione e l’esecuzione dei Large Language Models: permette agli utenti di eseguire modelli AI localmente sui propri computer, offrendo un’API (Application Programming Interface) semplice per la creazione, l’esecuzione e la gestione di questi modelli.

Cos’è Ollama e come porta i modelli di intelligenza artificiale sui sistemi degli utenti

I principali LLM affondano le radici nel concetto di attenzione e di Transformer, che Google ha presentato nel 2017 dando un forte impulso alle soluzioni basate sull’intelligenza artificiale.  Stanno via via nascendo alternative che si appoggiano anche su altre tecniche ma, in ogni caso, l’obiettivo è quello di generare contenuti (non solo testi ma anche immagini, audio, video…) utili, pertinenti e contestualizzati.

Esistono LLM proprietari, modelli forniti con una licenza che non permette usi commerciali e prodotti che, invece, non pongono alcun tipo di limitazione.

A riunire i vari LLM open source ci pensa Ollama, un progetto che porta l’intelligenza artificiale e le attività di inferenza sui sistemi degli utenti finali, siano essi ricercatori, professionisti, aziende o semplici curiosi. Leggero ed ampliabile, Ollama è facilita le gestione di un ampio ventaglio di modelli linguistici, utilizzabili in un ampio ventaglio di applicazioni.

Date un’occhiata alla lista dei modelli generativi supportati da Ollama, elenco peraltro in continua crescita.

Come installare Ollama

L'”ambiente naturale” per l’installazione di Ollama è una macchina Linux dotata di almeno 8 GB di memoria RAM per eseguire i modelli basati su 3 miliardi di parametri (3B), di 16 GB per i modelli 7B e 32 GB per i modelli 13B (“B” sta per billion, ovvero “miliardi”). Esistono comunque anche gli installer per i sistemi macOS e Windows.

Ollama è disponibile anche sotto forma di container Docker: la corrispondente immagine è ufficialmente supportata e continuamente aggiornata.

È possibile installare Ollama su un sistema Linux semplicemente digitando il comando che segue:

curl https://ollama.ai/install.sh | sh

Nel caso di Windows e macOS, l’installazione si concretizza scaricando e installando i corrispondenti pacchetti per l’avvio del setup, entrambi disponibili in questa pagina.

Ollama riconosce automaticamente la presenza di schede basate su GPU NVidia. Nel caso in cui il sistema non ne fosse equipaggiato, i modelli generativi si appoggeranno esclusivamente sui core del processore.

Come usare Ollama in locale

Ad installazione conclusa, si possono scaricare e usare i modelli linguistici preferiti quindi iniziare ad interagirvi usando semplici comandi. Per cominciare a utilizzare il modello LLaMa 2 (LLaMA sta per Large Language Model Meta AI, da qui l’immagine del “lama” che ricorre spesso…) basta digitare quanto segue nella finestra del terminale Linux:

ollama run llama2

Come accennato nell’introduzione, Ollama supporta un’ampia varietà di LLM open source che possono essere scaricati dalla libreria di modelli citata in precedenza. Per utilizzarli non sono necessari passaggi aggiuntivi, basta sostituire llama2 nel comando precedente con il nome del modello rilevato consultando questa pagina.

Installare e usare modello generativo con Ollama

Basta fare clic sul nome del modello, selezionare dal menu a tendina sulla sinistra la dimensione desiderata (7B, come visto in precedenza, sta a significare 7 miliardi di parametri) quindi usare il comando a destra per scaricare e avviare il LLM.

Interagire con Ollama da qualunque sistema

Non ha importanza se l’installazione di Ollama sia stata effettuata su un sistema Linux, Windows o macOS. Utilizzando la finestra del terminale o il prompt dei comandi, è possibile interagire con Ollama. Alla comparsa di Send a message, è possibile inviare domande, anche in lingua italiana.

Ollama, prompt modello generativo IA

Per uscire dall’applicazione Ollama, basta premere CTRL+D oppure digitare /bye e premere il tasto Invio.

Il comando ollama list, restituisce l’elenco dei modelli generativi scaricati e disponibili in locale. Digitando invece solo ollama, si ottiene la lista completa dei comandi utilizzabili, insieme con la relativa descrizione.

Importare modelli personalizzati in Ollama

Ollama consente di importare modelli in formati come GGUF e GGML. Se si disponesse di un modello che non si trova nella libreria di Ollama, è possibile aggiungerlo quando ritenuto sufficientemente maturo. Basta creare un file chiamato Modelfile e aggiungere un’istruzione FROM con il percorso locale facente riferimento al modello che si desidera usare.

L’oggetto Modelfile può essere utilizzato anche per personalizzare il comportamento degli LLM già noti a Ollama. Ad esempio, creando un Modelfile con il contenuto seguente, si può intervenire sul comportamento predefinito di Llama 2:

FROM llama2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system prompt
SYSTEM “””
Sei Mario di Super Mario Bros. Rispondi sempre e soltanto come Mario.
“””

Cosa abbiamo fatto? In prima battuta si è regolata la “temperatura” del modello: il valore 1 rende il modello Llama 2 più creativo ma meno preciso. Valori più bassi, invece, consentono di ottenere risposte più basilari ma, allo stesso tempo, maggiormente coerenti.

Per secondo, si crea una sorta di gioco di ruolo: il modello adatta le sue risposte a quelle di un ipotetico assistente digitale cucito sulla “personalità” di Mario, del celeberrimo videogioco.

Oltre 40.000 modelli AI disponibili su Ollama grazie a Hugging Face

Come risultato della collaborazione tra Ollama e Hugging Face, oltre 40mila modelli AI disponibili sulla piattaforma, possono essere a loro volta utilizzati con il framework aperto.

Se non vi bastasse la ricca e aggiornata libreria di LLM gestita da Ollama, si può usare il comando ollama run hf.co/username/repository per installare un particolare modello disponibile sulla piattaforma Hugging Face.

A valle di un’attenta attività di ricerca, è possibile usare modelli meno “generalisti” che danno invece il meglio di sé per lo svolgimento di compiti specifici. Come accennato in precedenza, infatti, esistono anche modelli per l’elaborazione delle immagini, la generazione di contenuti visuali e audio.

Usare l’API REST per dialogare con Ollama

Che senso ha usare un prompt testuale in locale da una schermata testuale com’è la finestra del terminale? Innanzi tutto, così facendo si può verificare come funzionano i vari LLM e quali tipo di riposte forniscono. Il vero balzo in avanti, però, si compie interfacciando Ollama con un’applicazione dotata di interfaccia grafica, ad esempio un’applicazione Web.

Le API REST sono ampiamente utilizzate per la creazione di servizi Web e sono una scelta comune quando si progetta l’interazione tra client e server in modo scalabile e flessibile. Ollama dispone già di un’interfaccia del genere che consente di mettere in comunicazione qualunque applicazione si stesse sviluppando o si fosse già realizzata con l’intelligenza artificiale derivante dai migliori LLM.

Provate a incollare nella finestra del terminale quanto segue:

curl -X POST http://localhost:11434/api/generate -d '{
"model": "llama2",
"prompt":"Perché il cielo è blu? Spiegalo in italiano"
}'

Come funziona l’invio di richieste a Ollama

L’istruzione curl presentata al precedente paragrafo non fa altro che inviare una richiesta HTTP all’API REST di Ollama specificando il modello generativo da usare il prompt. In risposta si riceve una spiegazione articolata, utile a soddisfare il quesito proposto.

Diamo per scontato che il comando curl sia correttamente installato sul sistema in uso, che sia Linux, Windows o macOS.

Ecco, adesso immaginate di sostituire curl con un’applicazione che invia la richiesta in locale o attraverso la LAN sul sistema ove Ollama è in ascolto: complimenti, avete realizzato un chatbot simile a ChatGPT che potete liberamente utilizzate in molteplici contesti.

Prendiamo il caso di Llama 3.2 Vision: si tratta di un modello specializzato nell’elaborazione delle immagini. Guardate la corrispondente pagina di supporto sul sito di Ollama: contiene non soltanto le indicazioni per l’installazione del modello ma anche la sintassi da usare per inviare richieste al modello tramite codice Python, JavaScript o mediante curl.

Poiché Llama 3.2 Vision riceve in ingresso anche l’immagine da elaborare, quest’ultima può essere specificata come semplice percorso locale (facendo riferimento alla cartella e al nome dell’immagine da elaborare) oppure trasmessa in versione codificata base64.

Ti consigliamo anche

Link copiato negli appunti