Il problema dell’accessibilità locale
I modelli linguistici open source sono disponibili, ma eseguirli su hardware locale resta complesso: scaricare i pesi in formato corretto, configurare le dipendenze CUDA o Metal, gestire la quantizzazione, esporre un’API per le applicazioni. Ogni passaggio richiede competenze specifiche e configurazioni diverse a seconda del modello, del sistema operativo e dell’hardware disponibile. Ollama nasce per eliminare questa complessità, offrendo un’esperienza di utilizzo paragonabile a quella di un gestore di pacchetti.
Un comando per eseguire un modello
L’installazione di Ollama richiede un singolo binario. L’esecuzione di un modello si riduce a un comando: ollama run llama2 scarica il modello, lo quantizza se necessario e avvia una sessione interattiva. I modelli supportati includono Llama 2, CodeLlama e decine di altri modelli open source della comunità. Il registro dei modelli funziona in modo analogo a un registry di immagini container: ogni modello è identificato da un nome e un tag che specifica la variante (dimensione, quantizzazione).
Modelfile e personalizzazione
Il Modelfile è il meccanismo di configurazione di Ollama, ispirato al Dockerfile. Consente di definire il modello base, i parametri di generazione (temperatura, top_p, contesto), il prompt di sistema e gli adapter LoRA per la personalizzazione. Un Modelfile tipico specifica il modello base, imposta i parametri di inferenza e definisce un comportamento predefinito — il tutto in un formato dichiarativo e versionabile.
Quantizzazione e API REST
Ollama utilizza il formato GGUF (GPT-Generated Unified Format) di llama.cpp per la quantizzazione dei modelli. Le varianti a 4-bit e 5-bit riducono i requisiti di memoria da decine di gigabyte a dimensioni gestibili su hardware consumer: un modello da 7 miliardi di parametri quantizzato a 4 bit richiede circa 4 GB di RAM, eseguibile su un laptop con GPU integrata.
L’API REST esposta da Ollama consente alle applicazioni di interagire con i modelli locali tramite endpoint HTTP standard. La generazione avviene interamente in locale: i dati non lasciano la macchina, un requisito fondamentale per contesti aziendali con vincoli di riservatezza o conformità normativa.
Link: ollama.com
