Avvio rapido

I3K RAG Enterprise Community è un singolo binario. Avvia da solo il proprio database vettoriale e il proprio motore di inferenza: non c'è niente da orchestrare, niente da compilare e nessun container runtime da installare.

Questa guida ti porta dall'archivio scaricato alla prima risposta con le fonti citate.

Requisiti

  • Sistema operativo: Linux (x86_64 o ARM64) oppure Windows a 64 bit
  • RAM: 16 GB minimi, 32 GB per stare comodi
  • Spazio disco: 30 GB liberi — il primo avvio scarica circa 12 GB fra modelli e componenti
  • GPU: una GPU NVIDIA viene rilevata e usata automaticamente. Funziona anche senza, più lentamente
  • Rete: serve solo per il primo avvio

Con o senza GPU

Senza GPU il motore parte lo stesso: embedding e generazione ricadono sulla CPU. Va benissimo per valutare il prodotto e per archivi contenuti, ma i tempi di risposta cambiano in modo evidente. Se hai una GPU e preferisci che il motore si rifiuti di partire anziché degradare in silenzio, imposta EMBEDDINGS__REQUIRE_GPU=true.

Installazione

Scarica l'archivio per la tua piattaforma dalla pagina delle release. Il contenuto dell'archivio è piatto — binario, .env.example e frontend/dist/ — senza una cartella che lo racchiuda, quindi conviene crearla prima:

mkdir i3k-rag-engine
tar -xzf i3k-rag-engine-linux-x86_64.tar.gz -C i3k-rag-engine
cd i3k-rag-engine

Una sola impostazione non ha un valore di default: il segreto che firma i token di sessione.

cat > .env <<'EOF'
AUTH__JWT_SECRET=metti-qui-una-stringa-lunga-e-casuale
EOF

Poi si lancia:

./i3k-rag-engine

Cosa succede al primo avvio

Il motore scarica ciò che gli serve e verifica ogni componente contro uno sha256 dichiarato nel proprio manifest. Se il confronto non torna, l'avvio si interrompe invece di proseguire con un file non verificato.

  • Il database vettoriale (Qdrant) — scaricato e avviato dal motore stesso
  • Il motore di inferenza (eullm) — scaricato, avviato e tenuto aggiornato in automatico
  • Il modello di chat e il modello di embedding BAAI/bge-m3
  • I dati OCR per italiano e inglese

In tutto sono circa 12 GB, quindi va messo in conto il tempo. Tutti gli avvii successivi sono immediati, perché i componenti vengono riscaricati solo se mancano o se non superano la verifica.

Quando è pronto si apre il browser su http://localhost:8000, e la password iniziale dell'amministratore viene stampata nel log:

SAVE THIS PASSWORD — it will not be shown again!

Se preferisci sceglierla tu, imposta AUTH__ADMIN_DEFAULT_PASSWORD nel .env prima di avviare.

Primo caricamento

Entra come amministratore e carica un documento. I formati supportati sono PDF, DOCX, XLSX, HTML, TXT, Markdown e CSV.

I PDF scansionati non richiedono passaggi particolari: quando una pagina restituisce troppo poco testo viene riconosciuta come scansione, rasterizzata e passata all'OCR in italiano e inglese.

Al caricamento il motore esegue quattro fasi:

  1. Estrazione — il testo viene tirato fuori dal file, con OCR dove serve.
  2. Suddivisione — il testo viene diviso in blocchi sovrapposti.
  3. Embedding — ogni blocco viene codificato con BAAI/bge-m3 (1024 dimensioni, oltre 100 lingue), nello stesso processo.
  4. Indicizzazione — i vettori finiscono in Qdrant con i metadati usati per il filtro per ruolo.

Prima domanda

Fai una domanda dall'interfaccia di chat. Il motore trasforma la domanda in vettore allo stesso modo, recupera i passaggi più vicini e genera la risposta parola per parola mostrando ogni fonte.

Siccome il modello di embedding è multilingua, la lingua della domanda non deve coincidere con quella del documento: una domanda in italiano può trovare la risposta dentro un contratto in inglese.

Le conversazioni vengono conservate, e la cronologia viene considerata nelle domande successive.

Aggiornamento

DATA__DIR di default è la directory che contiene l'eseguibile, e ogni componente viene scaricato solo se manca o se non supera la verifica. Quindi estrarre una nuova release sopra un'installazione esistente — stessa directory, sovrascrivendo binario, .env.example e frontend/dist/ — riusa tutto quello che è già stato scaricato lì. Il tuo .env non viene mai toccato, perché l'archivio contiene soltanto .env.example.

Estrarre in una directory nuova e vuota, invece, fa ripartire da zero tutti i download, perché a quel percorso non esiste ancora nulla.

Passi successivi

Hai un'installazione a nodo singolo funzionante. Leggi la panoramica dell'architettura per capire come si incastrano i pezzi, oppure la guida al deployment per backup, messa in sicurezza e funzionamento air-gapped.