Introduzione ad AnythingLLM
AnythingLLM è una soluzione open-source sviluppata da Mintplex Labs che consente di creare un assistente chat interno per aziende, utilizzando modelli linguistici locali tramite Ollama. Questo progetto è particolarmente utile per le aziende che desiderano mantenere i loro documenti sensibili locali, senza affidarsi a servizi cloud come ChatGPT, Claude o Gemini.
AnythingLLM è disponibile su GitHub sotto licenza MIT e ha raggiunto 65.520 stelle e 7.245 fork al 2 settembre 2026. La versione attuale è v1.18.0, rilasciata il 13 ottobre 2026. Questo tutorial guida attraverso la configurazione di AnythingLLM utilizzando Docker, la connessione a un modello locale tramite Ollama, la creazione di un workspace basato su documenti e la sicurezza dell'installazione per l'uso in produzione.
Perché scegliere AnythingLLM?
AnythingLLM combina tre funzionalità principali: un'interfaccia chat, un motore RAG per workspace e un builder di agenti senza codice. A differenza di altri servizi, AnythingLLM mantiene tutti i dati, inclusi documenti, vettori di embedding e cronologie delle chat, sui server locali dell'utente. Questo elimina la necessità di account utente, chiavi API esterne e limiti di token artificiali, purché un modello locale sia collegato.
Tecnicamente, AnythingLLM si integra con runtime di modelli locali come Ollama o LM Studio, nonché con API compatibili con OpenAI. Questo permette di utilizzare modelli aperti come DeepSeek-V4, Qwen3, Llama e varianti GLM, oltre a fornitori ospitati per team che desiderano lavorare in modalità ibrida. Ogni workspace ha il proprio indice di documenti, consentendo a reparti come vendite, legale e sviluppo di lavorare con basi di conoscenza separate senza mescolare i dati.
Secondo il portale di confronto Opsily, AnythingLLM è uno dei pochi progetti open-source completamente liberi da restrizioni commerciali. Per le aziende europee, la licenza MIT e la sovranità dei dati sono fattori cruciali. Inoltre, il modello DeepSeek-V4 è considerato una delle opzioni più convenienti per l'inferenza locale e può essere caricato direttamente tramite Ollama in AnythingLLM.
Prerequisiti
Prima di iniziare, è importante verificare i requisiti hardware e software. AnythingLLM può funzionare su hardware modesto, ma un modello linguistico locale richiede risorse significative. La tabella seguente mostra i requisiti minimi e le raccomandazioni per un setup produttivo con un modello da 7B a 13B parametri.
- Sistema operativo: Linux, macOS o Windows con WSL2 (raccomandato Ubuntu 24.04 LTS o superiore)
- Memoria RAM: 8 GB (raccomandati 16–32 GB)
- Spazio su disco: 10 GB liberi (raccomandati 50+ GB per modelli, documenti e indici vettoriali)
- Docker Engine: Versione 24 o superiore (raccomandata Docker Engine con Compose v5.5.0)
- GPU (opzionale): Nessuna, ma una GPU NVIDIA con 8+ GB di VRAM è raccomandata per prestazioni ottimali
- Ollama: Versione 0.30 o superiore (raccomandata 0.33.3)
- AnythingLLM: Docker-Image "latest" (raccomandata v1.18.0)
Per testare la ricerca di documenti con modelli più piccoli, 8 GB di RAM e l'inferenza CPU sono sufficienti, ma le risposte saranno più lente. Per un uso produttivo con più utenti simultanei, una GPU è consigliata per evitare colli di bottiglia durante l'embedding e l'inferenza. Docker e Docker Compose sono obbligatori, poiché AnythingLLM è fornito ufficialmente come immagine container.
Configurazione di AnythingLLM
La configurazione di AnythingLLM avviene in 12 passaggi, che includono l'installazione di Docker, la creazione di un progetto e la connessione a un modello locale tramite Ollama. Ecco i primi tre passaggi:
Passaggio 1: Verificare Docker e Docker Compose
Su molte distribuzioni Linux attuali, Docker Compose è già integrato come plugin. Un controllo rapido conferma la versione e la disponibilità.
Eseguire i seguenti comandi:
docker --versiondocker compose version
L'output atteso è simile a:
Docker version 27.3.1, build ce12230Docker Compose version v5.5.0
Passaggio 2: Creare la directory del progetto e il file docker-compose.yml
AnythingLLM memorizza la configurazione, gli embedding e le cronologie delle chat in un volume persistente. Questo volume deve essere posizionato al di fuori del container per evitare la perdita di dati al riavvio.
Eseguire i seguenti comandi:
mkdir -p ~/anythingllm/storagecd ~/anythingllm
cat > docker-compose.yml << 'EOF'
services:
anythingllm:
image: mintplexlabs/anythingllm:latest
container_name: anythingllm
ports:
- "3001:3001"
environment:
- STORAGE_DIR=/app/server/storage
- JWT_SECRET=bitte-hier-einen-eigenen-zufallswert-eintragen
volumes:
- ./storage:/app/server/storage
restart: unless-stopped
EOF
Passaggio 3: Avviare AnythingLLM
Dopo aver creato il file docker-compose.yml, avviare AnythingLLM con il seguente comando:
docker compose up -d
Questo comando avvia il container in modalità detached, permettendo di continuare a utilizzare il terminale. Per verificare che il container sia in esecuzione, utilizzare il comando:
docker ps
L'output dovrebbe mostrare il container anythingllm in esecuzione.
