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 --version

docker compose version

L'output atteso è simile a:

Docker version 27.3.1, build ce12230

Docker 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/storage

cd ~/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.