Guide 8 minuti

Ollama: cos’è, come funziona e quando usarlo per l’AI locale

Guida a Ollama: modelli locali, comandi, API, Modelfile, memoria, sicurezza e integrazioni per professionisti e PMI.

Computer locale con modello AI protetto e la frase Il modello resta qui, copertina della guida a Ollama.

Ollama è uno dei modi più semplici per scaricare ed eseguire modelli di intelligenza artificiale su un computer o un server controllato. Con pochi comandi gestisce i file del modello, li carica in RAM o VRAM e rende disponibile un’API locale a cui collegare chat, applicazioni e sistemi RAG.

La sua semplicità può però creare un equivoco: Ollama non è il modello e non è necessariamente l’interfaccia di chat. È il runtime che sta nel mezzo. Capire questo ruolo aiuta a scegliere correttamente modello, hardware, applicazioni e protezioni di rete.

Questa guida non ripete l’installazione passo passo, già trattata nella guida per Windows, macOS e Linux. Spiega invece come usare Ollama in modo consapevole, dalla riga di comando all’API, fino a configurazione, sicurezza e casi d’uso per professionisti e PMI.

Indice

  1. Che cos’è Ollama
  2. Come funziona
  3. I comandi essenziali
  4. Come scegliere un modello
  5. Personalizzare con un Modelfile
  6. Usare l’API locale
  7. Contesto, memoria e prestazioni
  8. Tre utilizzi pratici per una PMI
  9. Sicurezza e governance
  10. Problemi frequenti
  11. FAQ

Che cos’è Ollama

Ollama è un runtime disponibile per Windows, macOS e Linux. Si occupa di quattro attività principali:

  • scaricare e conservare modelli compatibili;
  • caricarli su CPU e, quando disponibile, GPU;
  • eseguire l’inferenza, cioè generare la risposta token dopo token;
  • esporre un’interfaccia a riga di comando e un server HTTP locale.

In pratica, l’utente o un’applicazione invia una richiesta a Ollama; il runtime seleziona il modello, prepara il contesto, genera la risposta e restituisce testo o dati strutturati. La documentazione delle API indica come indirizzo locale predefinito http://localhost:11434/api.

Che cosa non è

Ollama non sostituisce tutti gli altri componenti di una soluzione AI. Il modello determina capacità, licenza e requisiti. Un’interfaccia come Open WebUI gestisce invece browser, account, conversazioni e raccolte documentali. Un’applicazione custom aggiunge logica, permessi e integrazioni aziendali.

Questa distinzione rende più chiara anche la scelta tra strumenti:

Componente Ruolo principale Quando serve
Ollama Runtime e API per i modelli Terminale, integrazioni, server locale
LM Studio Applicazione desktop con interfaccia grafica Prove individuali e confronto rapido dei modelli
Open WebUI Interfaccia web e gestione utenti Chat condivisa, cronologia e documenti
Modello Produce l’output Va scelto per qualità, licenza, memoria e compito

Per confrontare il percorso completo, consulta la guida all’AI locale.

Come funziona

Quando esegui un modello, Ollama coordina una piccola catena operativa:

  1. individua nome e tag richiesti;
  2. scarica i file mancanti dal catalogo;
  3. carica pesi e cache nella memoria disponibile;
  4. tokenizza istruzioni e conversazione;
  5. esegue l’inference;
  6. restituisce progressivamente la risposta al terminale o all’applicazione.

Il modello può essere eseguito interamente sulla GPU, sulla CPU oppure diviso tra le due. ollama ps mostra i modelli caricati, il processore utilizzato e il contesto allocato. Questo comando è molto più utile di un’impressione soggettiva come “sembra lento”, perché permette di verificare che cosa stia realmente accadendo.

Ollama oggi supporta anche modelli cloud. Un’applicazione installata localmente, quindi, non garantisce da sola che ogni richiesta resti sul dispositivo. La FAQ ufficiale spiega che le funzioni cloud possono essere disabilitate con OLLAMA_NO_CLOUD=1. In un ambiente riservato conviene documentare esplicitamente se sono ammessi soltanto modelli locali.

I comandi essenziali

Non è necessario memorizzare decine di opzioni. Per iniziare bastano questi comandi:

ollama pull NOME:TAG      # scarica un modello
ollama run NOME:TAG       # apre una sessione interattiva
ollama ls                 # elenca i modelli presenti
ollama show NOME:TAG      # mostra informazioni sul modello
ollama ps                 # mostra i modelli caricati in memoria
ollama stop NOME:TAG      # scarica un modello dalla memoria
ollama rm NOME:TAG        # rimuove i file dal disco

La CLI ufficiale comprende anche ollama create per creare una configurazione personalizzata e ollama serve per avviare il server.

Un primo controllo ripetibile

Dopo aver scaricato un modello, non limitarti a una domanda casuale. Prepara cinque richieste rappresentative del lavoro reale e annota:

  • tempo al primo token;
  • durata complessiva;
  • memoria occupata;
  • correttezza rispetto a una risposta attesa;
  • stabilità su tre ripetizioni;
  • eventuali omissioni o informazioni inventate.

Il modello più veloce non è sempre il più utile. Per una classificazione automatica può vincere un modello piccolo e prevedibile; per una relazione complessa potrebbe servire più capacità. Il criterio giusto è il risultato accettabile sul proprio processo.

Come scegliere un modello

Il nome del modello non basta. Prima del download controlla almeno:

  • dimensione e quantizzazione: influenzano disco, RAM, VRAM e qualità;
  • finestra di contesto: indica quanto testo può essere elaborato insieme;
  • licenza: determina gli usi consentiti, soprattutto in azienda;
  • lingue e specializzazione: generalista, codice, visione o embeddings;
  • capacità richieste: output strutturato, strumenti o immagini;
  • provenienza e versione: usa nomi e tag espliciti nei test documentati.

La quantizzazione riduce la memoria richiesta, ma non esiste un formato universalmente migliore. Per un primo laboratorio è spesso più utile scegliere un modello che entri interamente nella memoria disponibile, invece di usare un modello più grande parzialmente spostato sulla CPU.

Per gli usi aziendali verifica anche se il modello è soltanto scaricabile oppure realmente utilizzabile secondo la licenza. La guida ai modelli open weights contiene una checklist dedicata.

Personalizzare con un Modelfile

Il Modelfile è un file di configurazione ripetibile. Può definire il modello di base, il messaggio di sistema e alcuni parametri. Non modifica magicamente le conoscenze del modello, ma permette di distribuire una configurazione coerente tra più test.

Esempio per un assistente interno che prepara risposte senza inviarle:

FROM qwen3:8b
PARAMETER num_ctx 8192
PARAMETER temperature 0.2
SYSTEM """
Sei un assistente interno per una PMI italiana.
Usa solo le informazioni fornite.
Se manca un dato, dichiaralo.
Prepara bozze: non affermare mai di aver eseguito un'azione.
"""

Salva il testo come Modelfile, quindi crea ed esegui la configurazione:

ollama create assistente-pmi -f Modelfile
ollama run assistente-pmi

La specifica ufficiale del Modelfile include anche template, licenza e adapter LoRA. Versiona il file insieme ai test: sapere che è stato usato “lo stesso modello” non è sufficiente se istruzioni e parametri sono cambiati.

Usare l’API locale

Il vantaggio principale di Ollama rispetto a una semplice chat desktop è l’API. Permette di collegare applicazioni Python o Node.js, workflow e interfacce senza cambiare motore ogni volta.

Una richiesta minima all’endpoint chat può essere eseguita così:

curl http://localhost:11434/api/chat \
  -H "Content-Type: application/json" \
  -d '{
    "model": "assistente-pmi",
    "messages": [
      {"role": "user", "content": "Riassumi questi appunti in tre azioni."}
    ],
    "stream": false
  }'

Ollama espone inoltre endpoint per elenco, dettagli, download, embeddings e gestione dei modelli. Le librerie ufficiali per Python e JavaScript evitano di costruire manualmente ogni richiesta.

Compatibilità OpenAI

La compatibilità con le API OpenAI permette a diversi client di usare http://localhost:11434/v1/ come base URL. È utile per sostituire il provider in un prototipo, ma va trattata come compatibilità dichiarata con specifici endpoint e campi, non come equivalenza totale tra piattaforme.

Embeddings e tool calling

Ollama può generare embeddings per ricerca semantica e RAG tramite /api/embed. Per indicizzare e cercare bisogna usare lo stesso modello di embedding. Il runtime supporta anche il tool calling: il modello può proporre una funzione, ma validazione, autorizzazione ed esecuzione devono restare nel codice applicativo.

Contesto, memoria e prestazioni

Una context window più ampia permette di inviare più testo, ma aumenta il consumo di memoria. La documentazione corrente di Ollama adatta il valore predefinito alla VRAM disponibile e consiglia di controllare contesto e offloading con ollama ps.

Per diagnosticare una configurazione lenta, verifica nell’ordine:

  1. modello e quantizzazione entrano nella memoria disponibile?
  2. ollama ps mostra GPU, CPU o una suddivisione?
  3. il contesto è molto più grande del necessario?
  4. quante richieste simultanee vengono inviate?
  5. il ritardo è nel runtime o nell’applicazione collegata?

Misura tempo al primo token, token al secondo e latenza completa con la stessa batteria di richieste. Cambiare contemporaneamente modello, prompt e parametri rende impossibile capire quale modifica abbia prodotto il risultato.

Tre utilizzi pratici per una PMI

1. Assistente interno sui documenti

Ollama esegue modello generativo ed embeddings; un’interfaccia o un’applicazione recupera i passaggi pertinenti dai documenti. È un sistema RAG, non un semplice caricamento di file. Servono permessi, aggiornamento dell’indice, cancellazione e citazioni verificabili.

2. Servizio locale per piccole automazioni

Un workflow può inviare appunti, chiedere una classificazione strutturata e presentare il risultato a una persona prima dell’azione. Un esempio prudente è preparare una bozza di risposta a una richiesta clienti: l’AI propone categoria e testo, l’operatore verifica e invia.

3. Ambiente di sviluppo sostituibile

Un team può collegare un’applicazione a Ollama durante sviluppo e test, mantenendo l’interfaccia verso il modello separata dalla logica aziendale. La compatibilità OpenAI riduce alcune modifiche al client, mentre test e configurazioni versionate facilitano il confronto tra modelli locali e servizi cloud.

Sicurezza e governance

Per impostazione predefinita Ollama ascolta su 127.0.0.1:11434. È una scelta prudente: la documentazione sull’autenticazione precisa che l’API locale su localhost non richiede autenticazione.

Non impostare OLLAMA_HOST=0.0.0.0:11434 e non pubblicare la porta su Internet senza un’architettura di protezione. Se più utenti devono accedere al servizio, applica almeno:

  • firewall e segmentazione della rete;
  • reverse proxy con TLS e autenticazione;
  • identità e autorizzazioni nell’applicazione a monte;
  • limiti su richieste, concorrenza e dimensione del contesto;
  • log tecnici senza prompt sensibili in chiaro;
  • inventario di modelli, versioni, licenze e proprietari;
  • aggiornamenti controllati e test di regressione;
  • separazione tra ambiente di prova e produzione.

Il fatto che il modello sia locale riduce alcuni trasferimenti di dati, ma non elimina malware, prompt injection, accessi eccessivi, backup non protetti o output errati. Se un’applicazione aggiunge ricerca web, strumenti o modelli cloud, il perimetro cambia e deve essere rivalutato.

Problemi frequenti

Sintomo Causa probabile Primo controllo
Risposta molto lenta Modello grande, CPU o contesto eccessivo ollama ps, modello più piccolo, contesto ridotto
Errore di memoria Pesi e cache non entrano in RAM/VRAM Quantizzazione, context window e processi concorrenti
Il client non si collega Indirizzo o rete errati prova GET /api/tags dallo stesso ambiente del client
Docker non vede Ollama localhost indica il container usa host o nome del servizio corretto e limita la rete
Modello inatteso Tag non esplicito o configurazione diversa ollama ls e ollama show NOME:TAG
Prima risposta lenta Modello non caricato in memoria misura a freddo e a caldo separatamente
Output incoerente Prompt, sampling o modello inadatti fissa un test e modifica una variabile alla volta

Prima di aprire porte o cambiare firewall, esegui il test dal punto di vista dell’applicazione che deve collegarsi. La guida Open WebUI con Ollama mostra questo controllo quando l’interfaccia gira in Docker.

Checklist prima di usarlo in azienda

  • Il caso d’uso e il risultato atteso sono documentati.
  • Modello, tag, quantizzazione e licenza sono registrati.
  • Prompt, Modelfile e parametri sono versionati.
  • RAM, VRAM, latenza e concorrenza sono stati misurati.
  • È chiaro se siano ammessi modelli o funzioni cloud.
  • L’API non è esposta direttamente a reti non fidate.
  • Identità, permessi e approvazioni sono applicati a monte.
  • I dati di test non contengono informazioni riservate non autorizzate.
  • Esiste una batteria di test per qualità e regressioni.
  • Aggiornamento, rollback e proprietario del servizio sono definiti.

FAQ

Ollama è gratuito?

Il software può essere scaricato e usato localmente, ma licenze dei modelli, hardware, energia, gestione e funzioni cloud vanno valutati separatamente. Gratuito da installare non significa privo di costi operativi.

Serve una GPU?

No, molti modelli possono funzionare sulla CPU. La GPU rende normalmente più fluida l’inferenza. Dimensione del modello, quantizzazione, RAM, VRAM e contesto determinano l’esperienza reale.

Ollama mantiene sempre i dati in locale?

I modelli locali vengono eseguiti sul dispositivo e Ollama dichiara di non vedere prompt e dati durante l’esecuzione locale. Esistono però modelli e funzioni cloud: verifica la configurazione e, se necessario, disabilitali esplicitamente.

Ollama sostituisce Open WebUI?

No. Ollama è il motore; Open WebUI è un’interfaccia web con utenti, chat e funzioni documentali. Possono essere usati insieme oppure Ollama può essere collegato direttamente a un’applicazione.

Posso usare un file GGUF personale?

Sì, il Modelfile può partire da un file GGUF supportato. Controlla architettura, template, licenza, provenienza e compatibilità prima dell’importazione.

Ollama è adatto alla produzione?

Può essere un componente di una soluzione reale, ma non offre da solo tutti i controlli di un servizio multiutente. Autenticazione, autorizzazione, rate limit, osservabilità, backup e disponibilità devono essere progettati intorno al runtime.

Conclusioni

Ollama rende accessibile l’AI locale perché riduce la distanza tra un modello scaricato e un’API utilizzabile. Il vero valore, però, non è eseguire un comando: è costruire una configurazione ripetibile, misurata e protetta.

Per iniziare, scegli un caso limitato, un modello che entri nella memoria disponibile e cinque test verificabili. Solo dopo aggiungi interfacce, documenti, strumenti e accesso condiviso.

Fonti ufficiali

Vuoi ricevere altre guide pratiche su AI locale, integrazioni e governance? Iscriviti gratuitamente alla newsletter di Basi di AI.

Una pillola di AI

Capire prima. Usare meglio.

Ricevi guide pratiche e notizie selezionate, senza rumore e senza sensazionalismi.

Iscriviti gratuitamente
Giuseppe D'Agata
Scritto da

Giuseppe D'Agata

Solution Engineer in Zenita Group e autore di Basi di AI. Oltre 24 anni di esperienza in infrastrutture ICT, networking, Unified Communication, software, automazione e intelligenza artificiale.