Immagina di avere un'interfaccia identica a ChatGPT — chat, cronologia, modelli a scelta, caricamento di documenti — che però gira interamente sul tuo computer, senza mandare nulla nel cloud e senza pagare un centesimo per i modelli. Si ottiene combinando due strumenti gratuiti e open source: Ollama, il motore che scarica e fa girare i modelli in locale, e Open WebUI, l'interfaccia web che ci si appoggia sopra. Questa guida ti porta dall'installazione fino alla chat sui tuoi PDF.

A chi serve e cosa otterrai

È per chiunque voglia usare l'IA in modo privato: professionisti che trattano dati riservati (avvocati, medici, commercialisti), sviluppatori, studenti, aziende che non vogliono inviare documenti a server esterni. Al termine avrai un'app con interfaccia in italiano, accessibile dal browser, in cui puoi scegliere tra più modelli, conversare, caricare file e fare ricerche sui tuoi documenti — tutto in locale, anche senza connessione a Internet.

Prerequisiti: Windows, macOS o Linux; almeno 8 GB di RAM (16 GB o più per modelli di qualità superiore); una GPU non è obbligatoria ma velocizza molto. Per Open WebUI serve Docker (la via consigliata) oppure Python 3.11.

Quali strumenti e perché questi

Esistono alternative valide, ciascuna con pro e contro per questo caso d'uso:

  • LM Studio: tutto-in-uno con interfaccia grafica, perfetto per iniziare senza Docker. Contro: meno estensibile, pensato per il singolo utente.
  • Jan: applicazione desktop open source, semplice e leggera. Contro: ecosistema di funzioni più ridotto.
  • AnythingLLM: molto orientato al RAG documentale. Contro: meno versatile come chat generalista.
  • Ollama + Open WebUI: la coppia più flessibile. Ollama gestisce i modelli con comandi semplici ed espone un'API standard; Open WebUI aggiunge un'interfaccia ricca con gestione multiutente, RAG sui documenti, ricerca web e supporto multimodale.

Per questo tutorial la prima scelta è Ollama + Open WebUI, perché è gratis, cresce con le tue esigenze e separa nettamente il motore (Ollama) dall'interfaccia: domani potrai cambiare l'uno senza toccare l'altra.

Scegliere il modello giusto per il tuo hardware

La qualità della risposta dipende dal modello, e il modello che puoi permetterti dipende dalla tua memoria. Una guida rapida:

RAM/VRAM disponibileModello consigliatoUso tipico
8 GBgemma3:4b, llama3.2:3bChat leggera, riassunti, bozze
16 GBqwen2.5:7b, llama3.3 (q4)Uso generale, buona qualità
32 GB o GPU 12+ GBqwen2.5:14b, modelli 14-32BRagionamento, codice, documenti lunghi

I suffissi come q4 indicano la quantizzazione: una compressione che riduce memoria e velocità a fronte di una piccola perdita di qualità. Per la maggior parte degli usi, una quantizzazione a 4 bit è un ottimo compromesso.

Passo 1: installare Ollama e un modello

Scarica Ollama dal sito ufficiale (installer per Windows e macOS, una riga per Linux). Verifica che funzioni dal terminale:

ollama --version

Ora scarica un modello. Per iniziare con un buon equilibrio qualità/leggerezza:

ollama pull llama3.3
# alternative valide:
ollama pull qwen2.5:7b
ollama pull gemma3:4b

Provalo subito in chat da terminale:

ollama run llama3.3 "Spiega in 3 frasi cosa e un'API REST"

Risultato atteso: una risposta in italiano in pochi secondi (più rapida con GPU). Ollama resta attivo in background come servizio sulla porta 11434. Puoi vedere i modelli scaricati con ollama list e liberarne uno con ollama rm nome-modello.

Con un solo comando Ollama scarica un modello e lo rende disponibile in locale.

Passo 2: installare Open WebUI con Docker

Con Docker installato e Ollama in esecuzione, lancia un unico comando:

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

Apri il browser su http://localhost:3000. Al primo accesso crea l'account amministratore (il primo utente registrato diventa admin). Open WebUI rileva automaticamente Ollama tramite host.docker.internal; in alto a sinistra potrai selezionare il modello scaricato e iniziare a chattare. Il volume open-webui conserva chat, account e impostazioni anche se ricrei il contenitore.

Se preferisci non usare Docker, puoi installarlo con Python:

pip install open-webui
open-webui serve

In questo caso l'interfaccia sarà disponibile sulla porta 8080.

Passo 3: chattare con i tuoi documenti (RAG)

È la funzione che trasforma l'app in uno strumento di lavoro. Open WebUI integra un sistema RAG (Retrieval-Augmented Generation) che indicizza i tuoi file e li usa come fonte per le risposte, riducendo drasticamente le invenzioni:

  1. Vai nella sezione Workspace > Knowledge e crea una raccolta (per esempio «Contratti 2026»).
  2. Carica i tuoi PDF, file di testo o documenti Word: vengono spezzati in frammenti e trasformati in embedding.
  3. In chat, richiama la raccolta digitando # seguito dal suo nome, oppure carica un singolo file con l'icona della graffetta.
  4. Fai la domanda: il modello risponderà basandosi sul contenuto dei documenti, citando i passaggi di origine.

Prompt di esempio 1:

In base ai documenti caricati, quali sono le scadenze di pagamento previste e a quali clausole sono collegate? Riassumi in una tabella.

Risultato atteso: una sintesi tabellare che attinge solo ai tuoi file, senza inventare dati esterni.

Prompt di esempio 2:

Agisci come un revisore. Elenca le tre clausole più rischiose per il cliente in questo contratto e spiega perche, citando il punto del documento.

Risultato atteso: un elenco puntato con riferimenti precisi alle sezioni del PDF — utile per contratti, manuali, appunti, normative.

Open WebUI offre cronologia, scelta del modello e chat sui propri documenti, come un ChatGPT privato.

Funzioni in più che vale la pena attivare

  • Ricerca web: nelle impostazioni di amministrazione puoi collegare un motore di ricerca perché il modello consulti il web in tempo reale, superando il limite della «conoscenza ferma» dei modelli locali.
  • Multimodale: con un modello di visione (es. llama3.2-vision) puoi caricare immagini e farle descrivere o analizzare.
  • Modelli personalizzati: dalla sezione Workspace puoi creare assistenti con un «system prompt» fisso (es. «traduttore legale italiano-inglese», «tutor di matematica per le superiori»), pronti da richiamare.
  • API compatibile OpenAI: Ollama espone un endpoint http://localhost:11434/v1 che puoi usare nel tuo codice come faresti con l'API di OpenAI, cambiando solo l'indirizzo di base e lasciando una chiave qualsiasi.

Privacy e sicurezza: cosa tenere a mente

Il grande vantaggio di questo setup è che, con i modelli di Ollama, i tuoi dati non lasciano il computer: né i prompt né i documenti vengono inviati a terzi. È la ragione per cui è adatto a contesti sensibili. Attenzione però a due aspetti: se attivi la ricerca web o colleghi modelli cloud (inserendo una chiave OpenAI o di altri provider), in quei casi specifici i dati escono dal tuo dispositivo. Inoltre, se esponi Open WebUI in rete, proteggilo con password robuste e non aprirlo direttamente a Internet senza un livello di sicurezza davanti.

Errori comuni e soluzioni

  • Open WebUI non vede i modelli: Ollama non è in esecuzione o l'indirizzo è errato. Verifica che http://localhost:11434 risponda e, nelle impostazioni di Open WebUI, controlla l'URL della connessione Ollama (su Docker dev'essere http://host.docker.internal:11434).
  • «port is already allocated»: la porta 3000 è occupata; cambia la mappatura, per esempio -p 3001:8080.
  • Risposte lentissime: il modello è troppo grande per la tua RAM. Scegli una variante più piccola o più quantizzata (es. :7b o suffissi q4).
  • La GPU non viene usata: su NVIDIA assicurati di avere i driver aggiornati e, per Docker, il supporto GPU abilitato; in alternativa Ollama girerà su CPU, più lentamente.
  • Il RAG non trova le informazioni: documenti scansionati come immagini non contengono testo selezionabile; passa prima un OCR, oppure carica versioni testuali dei file.

Varianti e come proseguire

Puoi esporre l'interfaccia in rete locale per usarla da altri dispositivi di casa o ufficio, oppure collegare anche modelli cloud per avere modelli locali e remoti nella stessa app, scegliendo di volta in volta quello giusto per il compito e la riservatezza. Per chi vuole la massima semplicità senza Docker, LM Studio resta l'alternativa più immediata, mentre per scenari aziendali multiutente Open WebUI offre ruoli e permessi. La documentazione ufficiale di Open WebUI e di Ollama è il riferimento per le funzioni avanzate, dagli strumenti (tools) alle pipeline personalizzate e ai modelli con file di configurazione dedicati. Da qui in poi, il tuo assistente IA privato è pronto a crescere insieme alle tue esigenze, senza canoni e senza rinunciare al controllo dei dati.