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
- Che cos’è Ollama
- Come funziona
- I comandi essenziali
- Come scegliere un modello
- Personalizzare con un Modelfile
- Usare l’API locale
- Contesto, memoria e prestazioni
- Tre utilizzi pratici per una PMI
- Sicurezza e governance
- Problemi frequenti
- 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:
- individua nome e tag richiesti;
- scarica i file mancanti dal catalogo;
- carica pesi e cache nella memoria disponibile;
- tokenizza istruzioni e conversazione;
- esegue l’inference;
- 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 discoLa 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-pmiLa 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:
- modello e quantizzazione entrano nella memoria disponibile?
ollama psmostra GPU, CPU o una suddivisione?- il contesto è molto più grande del necessario?
- quante richieste simultanee vengono inviate?
- 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
- Ollama Quickstart
- CLI Reference
- API Introduction
- Modelfile Reference
- Context length
- FAQ, rete e configurazione
- Autenticazione API
- OpenAI compatibility
Vuoi ricevere altre guide pratiche su AI locale, integrazioni e governance? Iscriviti gratuitamente alla newsletter di Basi di AI.