Open WebUI: interfaccia simile a ChatGPT per Ollama

Open WebUI Ollama è oggi la combinazione più pratica per avere un'interfaccia simile a ChatGPT sul tuo computer, senza dipendere dal cloud. Questo stack interamente self-hosted trasforma il tuo server Ollama in un'applicazione web multiutente, con cronologia delle conversazioni, gestione dei modelli e RAG sui documenti. Questa guida descrive in dettaglio l'installazione di Open WebUI Ollama tramite Docker, la configurazione di rete, i modelli compatibili in base alla tua VRAM, le funzionalità avanzate (RAG, multiutente, MCP) e i limiti da conoscere prima di una distribuzione in produzione per uso interno.

Che cos'è Open WebUI e perché associarlo a Ollama

Open WebUI (ex Ollama WebUI) è un front-end open-source scritto in SvelteKit + FastAPI, pubblicato sotto licenza BSD-3 su github.com/open-webui/open-webui. Propone un'interfaccia conversazionale equivalente a ChatGPT, ma collegata a un backend di inferenza locale. Ollama svolge questo ruolo di backend: un demone che carica modelli GGUF quantizzati e offre un'API HTTP compatibile con OpenAI sulla porta 11434.

L'associazione dei due dà una interfaccia per LLM locali completa:

A differenza di LM Studio, che è monoutente e disponibile solo come applicazione desktop, Open WebUI gestisce account, gruppi, permessi per modello e una modalità RAG con un database vettoriale ChromaDB integrato. È l'opzione da preferire per condividere un server di inferenza tra più collaboratori.

Installazione tramite Docker: il metodo consigliato

L'installation WebUI Docker è il metodo supportato dal team di Open WebUI. Evita i conflitti tra dipendenze Python e consente aggiornamenti atomici.

Prerequisiti :

Comando minimo (Ollama già installato sull'host) :

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

L'interfaccia è successivamente accessibile su http://localhost:3000. Il primo account creato viene automaticamente promosso ad amministratore.

Stack docker-compose tutto in uno (Ollama + WebUI + GPU NVIDIA) : consultare il file di riferimento su docs.openwebui.com/getting-started/quick-start. Il servizio ollama deve montare un volume persistente /root/.ollama per conservare i modelli scaricati tra un riavvio e l'altro, altrimenti scaricherai di nuovo diverse centinaia di gigabyte a ogni docker compose down.

Per AMD ROCm, usa l'immagine ghcr.io/open-webui/open-webui:main abbinata a ollama/ollama:rocm. Le prestazioni su RX 7900 XTX sono approssimativamente il 70-80% di quelle di una RTX 4090 in Q4_K_M (dato stimato, dipende dal modello).

Scegliere il modello adatto al tuo hardware

Open WebUI mostra tutti i modelli presenti nel registro Ollama locale. Il fattore limitante rimane la VRAM. Ecco tre livelli coerenti con l'hardware consumer e professionale.

Una RTX 4090 (24 GB di VRAM) è adatta ai modelli da 30 a 70B in Q4 con offload parziale sulla CPU:

Una workstation con 2× RTX 6000 Ada (96 GB totali) permette di puntare ai modelli MoE compatti :

Un server con 8× H100 (640 GB) o un cluster Apri le frontiere:

Per un dimensionamento preciso in base alla tua scheda, usa il configuratore di QualeLLM che combina la VRAM disponibile, la quantizzazione desiderata e la lunghezza di contesto desiderata.

Funzionalità avanzate: RAG, funzioni, MCP

Open WebUI va oltre la semplice chat. Tre funzionalità meritano di essere configurate fin dall'installazione.

RAG integrato : carica PDF, DOCX, TXT o URL in una «Collection». Open WebUI li suddivide in chunk (dimensione predefinita dei chunk 1500, sovrapposizione 100), genera embedding tramite sentence-transformers/all-MiniLM-L6-v2 localmente o tramite Ollama (nomic-embed-text), e li memorizza in ChromaDB. Durante l'inferenza, i chunk pertinenti vengono inseriti nel contesto. Per database di grandi dimensioni, passa a PostgreSQL + pgvector tramite la variabile VECTOR_DB=pgvector.

Le funzioni Python (Pipelines) : Open WebUI permette di eseguire codice arbitrario in pre- o post-elaborazione. Esempio: reindirizzare automaticamente i prompt contenenti «code» verso Qwen3-Coder-Next 80B-A3B, e gli altri verso Mistral Medium 3.5 128B. Le pipeline vengono eseguite in un container separato sulla porta 9099, un isolamento utile per la sicurezza.

Il supporto MCP (Model Context Protocol) : dalla versione 0.6, Open WebUI utilizza i server MCP. Vedi la specifica ufficiale per i server disponibili (filesystem, GitHub, Postgres, ecc.).

Confronto dettagliato dei front-end su quelllm.fr/compare/open-webui-vs-lm-studio.

Prestazioni e token al secondo osservati

Le velocità dipendono dalla combinazione modello/GPU. Alcune misurazioni di riferimento con Ollama 0.5+ e Open WebUI 0.6+ in Q4_K_M:

Lo streaming WebSocket di Open WebUI aggiunge una latenza impercettibile (<10 ms). Il collo di bottiglia rimane l'inferenza stessa. Per ottimizzare, attiva OLLAMA_FLASH_ATTENTION=1 et OLLAMA_KV_CACHE_TYPE=q8_0 nell'ambiente del contenitore Ollama: risparmio di memoria del 30-40% sul contesto (vedi github.com/ollama/ollama/blob/main/docs/faq.md).

Per i modelli di ragionamento come DeepSeek R1 671B, prevedi da 3 a 10 volte il numero di token generati per richiesta (catena di pensiero interna), quindi tempi di risposta di diversi minuti anche su infrastrutture potenti.

Sicurezza e deploy multiutente

In azienda, sono necessarie tre precauzioni:

Controlla regolarmente i log /app/backend/data/audit.log che tracciano i prompt e i caricamenti.

FAQ

Q: Open WebUI funziona senza Ollama?

Sì. Open WebUI accetta qualsiasi API compatibile con OpenAI: vLLM, server llama.cpp, LiteLLM, TGI. Configura l'URL in Impostazioni → Connessioni. Ollama rimane la strada più semplice per iniziare perché la sua CLI gestisce automaticamente il download, la quantizzazione GGUF e la memoria. Per un deployment ad alte prestazioni con tensor parallelism maturo, vLLM o SGLang sono preferibili.

Q: Qual è la quantità minima di VRAM per iniziare?

Con 8 GB di VRAM (RTX 3060, 4060), puoi gestire comodamente modelli 7-8B come varianti leggere distillate. Per 12-16 GB, scegli modelli da 13-14B. La regola empirica: VRAM ≈ parametri × 0,6 in Q4_K_M, più 1-2 GB per il contesto 8K. Vedi quelllm.fr/guide/vram-quantification per i dettagli suddivisi per quantizzazione (Q4, Q5, Q8, FP16).

Q: Come installare Open WebUI senza Docker?

Via pip install open-webui puis open-webui serve. Questo metodo è documentato ma meno isolato: possibili conflitti con altri ambienti Python, aggiornamenti più delicati. Riservalo alle macchine di sviluppo. Per una postazione di lavoro monoutente, LM Studio o Jan possono essere più semplici; confrontali su quelllm.fr/compare/lm-studio-vs-jan.

Q: È possibile collegare Open WebUI a più server Ollama?

Sì. In Impostazioni → Connessioni, aggiungi più URL Ollama (es. http://gpu-01:11434, http://gpu-02:11434). Open WebUI aggrega i modelli disponibili. Il routing è manuale (l'utente sceglie il modello); per un bilanciamento automatico, inserisci LiteLLM come proxy. Utile per distribuire Mixtral 8x22B Instruct su un nodo e Llama 3.1 405B Instruct su un altro.

Q: Le conversazioni sono cifrate a riposo?

Non di default. Il database SQLite /app/backend/data/webui.db memorizza i messaggi in chiaro. Per la crittografia a riposo, usa un volume Docker su un file system crittografato (LUKS, crittografia nativa ZFS) o migra a PostgreSQL con Transparent Data Encryption. Il traffico di rete, invece, può essere crittografato tramite il reverse proxy TLS menzionato sopra.

Q: Open WebUI supporta la visione e le immagini?

Sì, con i modelli multimodali. Carica un'immagine nella conversazione: Open WebUI la codifica in base64 e la invia a Ollama se il modello supporta la modalità visione. Modelli compatibili nel catalogo: Qwen 2.5 VL 72B, Qwen 3 VL 235B-A22B, LLaVA-OneVision 72B et Molmo 72B.

Conclusione

Open WebUI Ollama costituisce lo stack di riferimento per offrire un'interfaccia simile a ChatGPT in self-hosting, dal portatile al cluster GPU. L'installazione con Docker richiede quindici minuti, mentre la configurazione di RBAC e RAG richiede qualche ora in più. La scelta del modello resta il fattore determinante: allinea con precisione i parametri, la quantizzazione e la VRAM disponibile. Per esplorare i 249 modelli indicizzati in base ai tuoi vincoli hardware, consulta il catalogo completo di QualeLLM o lascia che il configuratore consigliare la combinazione modello/quantizzazione ottimale per la tua GPU.

Articolo pubblicato il da Mohamed Meguedmi · Fonte dati: /api/models.json · Licenza dei contenuti: CC BY 4.0.

Un errore o un aggiornamento da segnalare? Contribuire.