Salta ai contenuti

Cos'è Ollama

Ollama è un runtime per eseguire LLM open-weight (Qwen, Llama, Mistral, Gemma…) in locale. Scarica e gestisce i modelli, li carica in memoria e li espone via HTTP. Nessun dato esce dalla macchina.

Componente Cosa fa
ollama serve daemon HTTP su 127.0.0.1:11434
Runner processo che esegue il modello, basato su llama.cpp; usa Metal su Apple Silicon, CUDA/ROCm su Linux, altrimenti CPU
Store modelli ~/.ollama/models: manifests/ + blobs/sha256-*, struttura simile a un registry OCI
CLI ollama client del daemon: pull, run, ps, stop, create…

I modelli sono in formato GGUF, quasi sempre quantizzati: i pesi a 16 bit vengono compressi a 4–8 bit. Un 7B passa da ~15 GB a ~4.7 GB con una perdita di qualità contenuta. Dettagli in Modelli e quantizzazione.

API Endpoint Chi la usa
Nativa /api/chat, /api/generate, /api/tags, /api/ps CLI, script
OpenAI-compatible /v1/chat/completions, /v1/models, /v1/embeddings k8sgpt, HolmesGPT (via LiteLLM), kubectl-ai, qualsiasi SDK OpenAI

È l’API OpenAI-compatible che rende Ollama intercambiabile con vLLM o un provider cloud: i tool cambiano solo baseUrl e nome del modello.

  1. ollama pull scarica i blob nello store.
  2. Alla prima richiesta il modello viene caricato in RAM/VRAM (qualche secondo).
  3. Resta caricato per OLLAMA_KEEP_ALIVE (default 5 minuti) dopo l’ultima richiesta.
  4. Poi viene scaricato dalla memoria; resta su disco finché non fai ollama rm.
Runtime Quando
Ollama lab, workstation, piccoli deployment CPU/GPU
vLLM produzione con GPU: batching, throughput, concorrenza
llama.cpp server massimo controllo, footprint minimo
LocalAI compatibilità ampia con API OpenAI (audio, immagini)