Principiante 10 minRAG

RAG locale con Ollama senza scrivere codice (Open WebUI, AnythingLLM)

Usare il RAG locale con Ollama significa porre domande a un LLM ospitato in proprio facendogli leggere i tuoi documenti — senza inviare una sola riga al cloud. Due strumenti gratuiti permettono di configurarlo senza programmare: Open WebUI (interfaccia simile a ChatGPT con una base di conoscenze integrata) e AnythingLLM (workspace + citazioni). Questa guida offre una panoramica in 10 minuti, anche su un computer poco potente senza GPU.

Di Mohamed Meguedmi·Agg. 2026-08-27·Testato su Windows, macOS e Linux

#Perché un RAG locale con Ollama

Un RAG (Retrieval-Augmented Generation) risponde a un limite semplice degli LLM: conoscono solo i propri dati di addestramento. Il RAG li collega ai tuoi documenti: PDF di procedure interne, note Markdown, esportazioni di email, contratti, manuali — tutto ciò che non è né pubblico né recente. Il modello legge i passaggi pertinenti prima di rispondere e cita le proprie fonti se lo strumento lo consente.

La versione cloud (ChatGPT, Claude, Gemini) richiede di caricare i tuoi documenti su server di terzi. Per uno studio legale, un medico, un contabile o persino un privato che non vuole vedere le proprie note personali trasferite negli Stati Uniti, è inaccettabile. Un RAG locale con Ollama risolve il problema: tutto rimane sulla tua macchina e mantieni il controllo sia sui costi (zero) sia sulla riservatezza.

Confidenzialità totale
I tuoi documenti non lasciano mai la macchina. Nessun token viene inviato a un fornitore.
Costo marginale nullo
Nessun abbonamento, nessun limite API. Paghi l'elettricità, punto.
Offline
Una volta scaricato il modello, il RAG funziona senza connessione internet.
Personalizzabile
Scegli il modello di risposta, il modello di embedding, le fonti.

#Ollama supporta il RAG nativamente?

Il kit RAG Locale

La tua IA legge i tuoi documenti senza una riga di codice. Rimane la vera domanda: risponde correttamente? Il kit RAG Locale parte da lì (cap. 1), approfondisce l'uso avanzato di Open WebUI e AnythingLLM (cap. 13) e ti insegna a misurare le risposte errate e le citazioni inventate (cap. 14).

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

Risposta chiara: no. Ollama è un motore di inferenza — scarica ed esegue LLM, espone un'API compatibile con OpenAI su http://localhost:11434, ma non è in grado di indicizzare da solo i tuoi documenti. Non dispone né di un database vettoriale, né di uno strumento per suddividere i PDF, né di un'interfaccia per trascinare e rilasciare file.

Tuttavia, sa servire contemporaneamente un modello di generazione e un modello di embedding — è tutto ciò che serve perché un tool esterno (Open WebUI, AnythingLLM, LangChain…) costruisca un RAG su di esso. Quando si parla di RAG locale Ollama, si parla quindi sempre di una combinazione Ollama + interfaccia RAG.

i
Il modello mentale giusto
Ollama = il motore (due servizi: LLM di risposta + LLM di embedding). Open WebUI o AnythingLLM = la catena: ingestione dei documenti, divisione in chunk, calcolo degli embedding, archiviazione vettoriale, ricerca, inserimento nel prompt. Nessuna riga di codice da scrivere.

#Prerequisiti

Ollama installato
Su Windows, macOS o Linux. È in ascolto per impostazione predefinita su http://localhost:11434.
Un modello di risposta
Granite 4.2 8B o Qwen 3.5 9B in Q4_K_M. Prevedere circa 5–7 GB di VRAM o RAM.
Un modello di embeddings
nomic-embed-text o mxbai-embed-large. ~300 MB. Indispensabile per vettorializzare i documenti.
Docker (opzione Open WebUI)
Docker Desktop su Windows/macOS, o docker.io su Linux. Questo è il metodo di installazione consigliato.
Spazio su disco
Almeno 10 GB per il modello LLM + embedding + l'indice vettoriale dei tuoi documenti.
Preparare i due modelli Ollama
# Le LLM qui va répondre
ollama pull qwen3.5:9b

# Le modèle d'embeddings (obligatoire pour le RAG)
ollama pull nomic-embed-text

# Vérifier que les deux sont bien là
ollama list

#1. Open WebUI : base di conoscenza integrata

Open WebUI (ex-Ollama WebUI) è l'interfaccia ChatGPT-like più popolare per Ollama. La sua funzionalità Knowledge (base di conoscenze) permette di caricare documenti e di interrogarli con RAG, senza dover configurare nulla dal lato del codice.

  1. 01
    Avviare Open WebUI in Docker
    In un terminale: 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. Su Linux nativo, sostituire host.docker.internal con localhost se avvii Ollama fuori Docker.
  2. 02
    Aprire l'interfaccia
    Andare su http://localhost:3000. Creare un account amministratore (il primo account è amministratore per impostazione predefinita). Open WebUI rileva automaticamente Ollama su localhost:11434.
  3. 03
    Creare una base di conoscenza
    Andare in Workspace → Knowledge → + Create a Knowledge Base. Assegnare un nome (es.: 'Contratti clienti'). È il tuo contenitore vettoriale.
  4. 04
    Importare i propri documenti
    Fare clic sul + in alto a destra nella base, poi caricare i propri file PDF, .docx, .md, .txt. Open WebUI li suddivide e calcola gli embedding in background.
  5. 05
    Configurare il modello di embedding
    Settings (admin) → Documents → Embedding Model Engine = Ollama, Embedding Model = nomic-embed-text. Salvare. Altrimenti, Open WebUI utilizza un modello predefinito meno adatto al francese.
  6. 06
    Interrogare la base
    In una nuova chat, digitare # seguito dal nome della base di conoscenza per collegarla. Porre la propria domanda: la risposta viene generata a partire dai chunk pertinenti, con numeri di citazione cliccabili.
→
Suggerimento per allegare rapidamente un file
Se hai solo uno o due PDF da interrogare senza creare una base di conoscenza, puoi anche trascinare e rilasciare un file direttamente nell’area della chat. Open WebUI passa alla modalità RAG solo per quel documento, per la durata della conversazione.

#2. AnythingLLM: workspaces e citazioni

AnythingLLM è l'alternativa più matura a Open WebUI nel campo del RAG. Mentre Open WebUI è generalista, AnythingLLM è progettato intorno al concetto di workspace: ogni progetto ha la propria base documentale, il proprio modello e la propria cronologia. Ideale quando vuoi tenere separati 'Contratti clienti', 'Note personali' e 'Documentazione tecnica'.

  1. 01
    Installare AnythingLLM
    Scaricare il programma di installazione Desktop da useanything.com per Windows, macOS o Linux. È un'applicazione Electron: per la versione desktop non serve Docker.
  2. 02
    Scegliere Ollama come provider LLM
    Al primo avvio, l'assistente chiede quale LLM utilizzare. Selezionare Ollama, indicare l'URL http://localhost:11434, e scegliere qwen3.5:9b nella lista che si carica automaticamente.
  3. 03
    Scegliere il motore di embedding
    Prossima fase: Embedder. Selezionare Ollama, modello nomic-embed-text. AnythingLLM può anche utilizzare il proprio embedder locale integrato se non hai scaricato nomic-embed-text — meno performante, ma zero configurazione.
  4. 04
    Creare un workspace
    Nella barra laterale: + New Workspace. Assegnargli un nome. Cliccarci sopra, poi sull'icona di caricamento per trascinare i tuoi PDF, .docx, .csv, .epub, URL o persino video YouTube (trascrizione automatica).
  5. 05
    Spostare documenti → workspace
    AnythingLLM separa l'ingestione (documenti elencati a sinistra) dall'uso (workspace a destra). Selezionare i documenti, fare clic su 'Move to Workspace', poi su 'Save and Embed'. È qui che gli embedding vengono calcolati tramite Ollama.
  6. 06
    Parlare con citazioni
    Nel workspace, porre la propria domanda. Ogni risposta contiene un pannello Citations espandibile, che mostra esattamente quali chunk sono stati utilizzati. Molto utile per verificare che il modello non abbia prodotto allucinazioni.
Open WebUI
Migliore se vuoi un'interfaccia generalista simile a ChatGPT, multiutente (per un team), con accesso web. Il RAG è una funzionalità tra le altre.
AnythingLLM
Migliore se il RAG è l'uso principale: workspaces stretti, citazioni ben fatte, supporto di più formati (URL, YouTube, GitHub), agenti integrati.

#3. Quale modello di embedding scegliere

Il modello di embedding è il componente che molti trascurano. È questo modello a trasformare i tuoi documenti in vettori: la sua qualità determina direttamente la pertinenza dei passaggi recuperati. Su documenti in francese, alcuni modelli sono nettamente migliori di altri.

nomic-embed-text (137M, 274 MB)
La scelta predefinita consigliata. Veloce, con prestazioni multilingue discrete e un contesto di 8192 token. Ottimo compromesso per iniziare. Disponibile direttamente: ollama pull nomic-embed-text.
mxbai-embed-large (335M, 670 MB)
Più preciso di nomic, leggermente più lento. Principalmente per l'inglese, ma gestisce anche il francese per documenti standard. Da preferire se la qualità conta più della velocità. ollama pull mxbai-embed-large.
bge-m3 (567M, 1,2 GB)
Eccellente nelle attività multilingue (100+ lingue, con supporto nativo per il francese), contesto 8192. Più pesante. Disponibile su Hugging Face, importabile in Ollama tramite Modelfile.
snowflake-arctic-embed
Buone prestazioni multilingue, più leggero di bge-m3. Una buona alternativa se bge-m3 è troppo pesante.
→
Regola pratica per il francese
Inizia con nomic-embed-text. Se i tuoi risultati RAG sono mediocri su PDF tecnici in francese (giuridici, medici), passa a bge-m3 o a un modello dedicato come Solon. Cambiare il modello di embedding obbliga a reindicizzare l'intera base documentale: pensaci prima di caricare 5.000 documenti.

#4. RAG locale su 4 GB di RAM, senza GPU

Sì, è fattibile. Il RAG richiede meno risorse di quanto si pensi: il grosso del lavoro (gli embedding) si svolge una tantum durante l'ingestione e, durante l'uso, è semplicemente il LLM a rispondere con qualche migliaio di token di contesto in più. Su una macchina poco potente, il compromesso riguarda soprattutto la scelta del LLM che genera le risposte.

4 GB di RAM, CPU lenta (vecchio portatile)
LLM: qwen3.5:2b o granite4.2:3b in Q4_K_M (~2 GB). Embedding: nomic-embed-text. Risposte lente ma leggibili (3-5 tok/s). Il contesto dell'LLM viene impostato a 2048 per restare sotto il limite della RAM.
8 GB di RAM, CPU recente (i5/Ryzen 5)
LLM: qwen3.5:4b Q4 (~3,4 GB) o gemma4:e2b-it-qat. Embeddings: nomic-embed-text. ~6-10 tok/s. Questa è la configurazione 'piuttosto buona' senza GPU.
16 GB di RAM, senza GPU
LLM: granite4.2:8b o qwen3.5:9b Q4 (~5-7 GB). Embeddings: nomic o mxbai. ~4-8 tok/s usando solo la CPU su un Ryzen 7 o i7 recente.
Configurazione minima con un consumo contenuto di RAM
# Petit LLM rapide, embeddings standards
ollama pull qwen3.5:2b
ollama pull nomic-embed-text

# Réduire le contexte pour économiser la RAM
# Dans Open WebUI : Settings → Models → qwen3.5 → num_ctx = 2048
# Dans AnythingLLM : Workspace settings → Max Tokens = 2048

# Vérifier l'usage RAM en pleine question :
ollama ps
!
Indicizzazione = picco di carico
L'ingestione di documenti voluminosi (centinaia di pagine) è la fase più pesante: ogni chunk deve passare attraverso il modello di embedding. Su una macchina poco potente, suddividi il lavoro: importa i documenti in lotti di 10-20 e lascia terminare l'indicizzazione prima di proseguire. Altrimenti, Ollama può saturare la RAM e andare in crash a metà dell'operazione.

#Risoluzione dei problemi

Il modello 'non vede' i miei documenti
Verifica che la base di conoscenza sia correttamente associata alla chat (Open WebUI: comando #, AnythingLLM: icona workspace). Verifica anche che siano stati effettivamente generati gli embedding dei documenti, e che questi non siano stati soltanto caricati.
Risposte molto lente sui piccoli modelli
Il RAG aggiunge da 1000 a 3000 token al contesto. Riduci il top-k (3-5 blocchi invece di 10) nelle impostazioni RAG e abbassa il parametro num_ctx del LLM a 2048 o 4096.
Allucinazioni anche con documenti presenti
Aumenta il top-k, verifica che il modello di embedding sia proprio quello usato per l'indicizzazione (un cambio di modello invalida la base). Abilita le citazioni per vedere cosa ha davvero letto il LLM.
Open WebUI non vede Ollama
Con Docker, usa --add-host=host.docker.internal:host-gateway, poi in Settings → Connections imposta http://host.docker.internal:11434 come URL di Ollama.
AnythingLLM si blocca durante la generazione degli embedding
Spesso è dovuto a una carenza di RAM. Chiudi altre applicazioni, suddividi l'importazione in più parti oppure passa a un modello di embedding più leggero (nomic invece di bge-m3).

#Per approfondire

Una volta configurato il tuo RAG locale con Ollama, ecco alcune guide per proseguire nell'approfondimento:

RAG locale: introduzione
Il manuale concettuale che spiega cosa avviene dietro le quinte (chunking, embedding, retrieval) — utile per capire perché funziona o no.
I migliori modelli di embedding FR
Confronto dettagliato tra BGE, E5 e Solon per i contenuti in francese — quando sostituire nomic-embed-text.
Open WebUI con Ollama: guida completa
Per andare oltre il RAG su Open WebUI: multiutente, profili, prompt personalizzati, pipeline.
Eseguire un LLM senza GPU
Guida dettagliata CPU-only con benchmark tokens/sec per CPU — se vuoi ottimizzare il tuo setup RAG senza scheda grafica.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.