Avere un'interfaccia tipo ChatGPT ma in locale, gratis, offline, con i propri dati che non lasciano mai il computer e' uno dei vantaggi piu' concreti che l'IA open ha portato negli ultimi due anni. Lo strumento di riferimento per costruire questa esperienza si chiama Open WebUI: un'app self-hosted che si collega a Ollama (il motore di inferenza locale) e offre una UI quasi identica a ChatGPT, con storia delle conversazioni, account multipli, RAG sui propri PDF, ricerca web opzionale e gestione di plugin. In questa guida vediamo come installarlo passo passo, su Mac, Linux e Windows, e come usarlo per i casi d'uso piu' frequenti.
A chi serve, cosa otterrai, prerequisiti
Open WebUI e' utile a chi vuole evitare l'abbonamento a ChatGPT/Claude, ha dati sensibili che non possono uscire dall'azienda (consulenti, avvocati, medici, ricercatori), insegna programmazione o IA e vuole un ambiente didattico, o semplicemente vuole capire come funziona uno stack LLM "locale" senza dipendere dal cloud. Il risultato finale e' una webapp accessibile da http://localhost:3000 con cui chattare con modelli aperti (Llama, Qwen, Mistral, Gemma, DeepSeek), allegare PDF e immagini, generare codice e cosi' via.
Prerequisiti reali:
- Un computer con almeno 16 GB di RAM (32 GB raccomandati). I modelli piu' interessanti hanno bisogno di buona quantita' di memoria.
- Una GPU dedicata aiuta molto: NVIDIA con 8-12 GB di VRAM apre la porta a modelli 7-13B; 24 GB ai 30-32B. Apple Silicon M2/M3/M4 funziona benissimo grazie a Metal, anche senza GPU dedicata.
- 50 GB di disco liberi per i modelli che scarichera'.
- Docker installato (raccomandato), oppure Python 3.11+ se preferisci installare senza container.
Strumento consigliato: perche' Open WebUI
Sul mercato ci sono diverse alternative. LM Studio offre un'app desktop chiavi in mano (per chi non vuole vedere nemmeno un terminale). Jan.ai e' simile a LM Studio ma open. Anything LLM punta forte sul RAG. Msty e' un client desktop con bel design. Ho scelto Open WebUI come prima opzione per quattro motivi: (1) e' la GUI piu' attiva con migliaia di contributi su GitHub; (2) si installa in un comando Docker; (3) ha supporto nativo per Ollama, OpenAI-compatible API, Anthropic API; (4) e' multi-utente: utile in famiglia o in un piccolo team. LM Studio resta una valida prima scelta per chi non vuole mai aprire un terminale.
Passo 1 - Installare Ollama
Ollama e' il motore che fa girare i modelli. Su macOS si scarica da ollama.com/download e si lancia il .dmg. Su Linux:
curl -fsSL https://ollama.com/install.sh | sh
Su Windows si scarica l'installer dal sito ufficiale. Una volta installato verificare che funzioni:
ollama --version
ollama serve &
(Su macOS e Windows il servizio parte automaticamente.) Scarichiamo un modello di prova:
ollama pull llama3.3:8b
L'8 miliardi di parametri di Llama 3.3 pesa circa 4-5 GB ed e' un buon punto di partenza per macchine con 16 GB di RAM. Per testare:
ollama run llama3.3:8b "Ciao, presentati in italiano"
Passo 2 - Installare Open WebUI con Docker
Il modo piu' rapido e' Docker. Una volta installato Docker Desktop (su Mac/Windows) o docker-engine (Linux):
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
Il container scaricato pesa circa 1,5 GB. Una volta acceso, basta aprire un browser su http://localhost:3000. Alla prima visita Open WebUI chiede di creare un account amministratore (mail e password): questi resteranno solo in locale, non sono inviati a nessun server.
Passo 3 - Verificare il collegamento a Ollama
Una volta dentro la dashboard, in alto a sinistra dovrebbe gia' comparire "llama3.3:8b" come modello disponibile. Se non lo vedi: vai in Impostazioni > Connessioni > Ollama e verifica che l'URL sia http://host.docker.internal:11434. Salva e ricarica.
Per aggiungere altri modelli, vai in Impostazioni > Modelli > Estrai modello da Ollama.com e digita il nome (es. qwen2.5:14b, mistral-nemo, deepseek-r1:7b, gemma3:9b). Il download parte in background e i modelli appaiono nel menu principale.
Passo 4 - Provare un prompt
Apri una nuova chat, seleziona il modello (es. llama3.3:8b) e copia:
Sei un giornalista esperto. Spiega in italiano cos'e' un Mixture-of-Experts e perche' DeepSeek e Qwen lo usano. Massimo 200 parole, tono divulgativo.
Il modello dovrebbe rispondere in circa 5-15 secondi su un MacBook M2 o una GPU NVIDIA media, con una spiegazione coerente. Se la velocita' e' troppo bassa, prova un modello piu' piccolo (es. llama3.3:1b o qwen2.5:3b).
Passo 5 - RAG sui PDF
Open WebUI ha il RAG integrato. Carica un PDF cliccando sulla graffetta nella chat. Il documento viene splittato in chunk, vettorizzato con un modello di embedding locale (per default nomic-embed-text, scaricabile con ollama pull nomic-embed-text) e indicizzato in un database vettoriale (Chroma, integrato).
Dopo il caricamento puoi fare domande sul documento. Esempio reale:
Allego il contratto di servizio. Riassumi le penali per ritardo, indicando articoli e percentuali esatte. Cita testualmente le clausole.
Il sistema risponde mostrando le citazioni cliccabili che riportano alla pagina del PDF. Per ottimizzare il RAG, vai in Impostazioni > Documenti > Embedding Model e scegli un modello multilingue come jina-embeddings-v2-base-multilingual.
Passo 6 - Profili, utenti, plugin
Open WebUI gestisce piu' utenti. Da Admin Panel > Users si possono creare account con permessi diversi (admin, user, pending). Utile in famiglia o in un piccolo team: ognuno ha la sua storia chat. Per integrare API esterne (Claude, GPT-5, Gemini) si va in Impostazioni > Connessioni > OpenAI API e si incolla la propria API key di OpenAI; lo stesso per Anthropic. La dashboard mostrera' anche i modelli cloud accanto a quelli locali.
Plugin (Open WebUI li chiama "Tools") permettono di abilitare ricerca web (DuckDuckGo, Tavily), generazione di immagini con ComfyUI o Stable Diffusion, esecuzione di codice Python in sandbox. Si installano da Workspace > Tools.
Errori comuni
- "Connection refused" sul collegamento a Ollama: il problema e' quasi sempre l'URL del container. Su Linux dovrai usare
--network hostoppure 172.17.0.1 al posto di host.docker.internal. - OutOfMemoryError o modello che non parte: hai scelto un modello troppo grande. Su 16 GB di RAM rimanere su 7-8B Q4; su 32 GB salire al 14B o 32B con quantizzazione.
- Risposte lente: verifica che Ollama stia usando la GPU (su NVIDIA:
nvidia-smideve mostrare ollama nei processi). Su macOS la GPU e' usata automaticamente via Metal. - RAG che non trova citazioni: aumenta chunk size in Impostazioni Documenti (es. 1024 token) e usa un embedding piu' grosso.
Varianti e quando non usarlo
Per chi sviluppa e ha bisogno di chiamare modelli via API, una buona alternativa e' usare direttamente Ollama (espone un endpoint OpenAI-compatible su http://localhost:11434/v1/chat/completions) senza Open WebUI. Per chi vuole una UI piu' "prodotto" e gratuita, LM Studio o Msty offrono un'esperienza simile in un'app desktop. Per workflow multiutente in azienda con SSO, Open WebUI Enterprise (a pagamento) e LibreChat sono opzioni piu' avanzate.
Open WebUI non e' un sostituto totale di ChatGPT Plus: i modelli locali piu' piccoli sono ancora distanti da GPT-5.5 nei compiti complessi di ragionamento. Ma per riassumere documenti riservati, scrivere e-mail, generare codice di routine, fare RAG su archivi aziendali e provare modelli nuovi senza pagare token, e' lo strumento giusto. E ogni mese, con i nuovi modelli che escono su Ollama, la lista delle cose che si possono fare in locale cresce.
Come proseguire
Una volta a regime, prova a integrare ricerca web (per dare al modello l'accesso a fatti recenti, dato che i modelli open sono fermi al cutoff), a configurare un secondo utente per i familiari, a creare un workspace dedicato per i tuoi documenti di lavoro. Sul GitHub di open-webui trovi una comunita' attiva con guide per ogni piattaforma e per ogni nicchia (medici, avvocati, programmatori, insegnanti). E' un ottimo punto di partenza per costruire la propria "IA personale".




