Tecnologia
Uno stack RAG self-hosted progettato per carichi europei regolamentati.
I3K RAG Enterprise gira al 100% in locale, dentro il tuo perimetro. Il motore Community è un unico binario Rust che avvia da sé il vector store e il motore di inferenza — nessuna dipendenza esterna, nessun cloud statunitense, niente da orchestrare.
Lo stack
Ogni componente è open-source, gira in locale ed è auditabile end to end. Nessuna black box, nessuna chiamata di rete nascosta.
API Rust + axum
Superficie REST su :8000. Auth JWT, gestione utenti, orchestrazione query — tutto dentro il binario.
Frontend React + Vite
Servito dal motore dalla propria directory. Stessa porta, nessun processo separato da avviare.
Vector store Qdrant
1024 dimensioni, distanza coseno. Avviato dal motore; filtro per ruolo applicato a livello di storage.
Inferenza eullm
Processo separato che il motore avvia e tiene aggiornato. All'avvio rileva una GPU NVIDIA e la usa.
SQLite via sqlx
Utenti, documenti, conversazioni. File singolo, salvato insieme allo snapshot vettoriale.
pdfium + Tesseract
Rasterizzazione e OCR, caricati a runtime da un percorso incluso anziché linkati in compilazione.
La pipeline RAG
Quattro step, end to end, tutti dentro un solo albero di processi sulla tua macchina. Nessun agent framework di terzi e nessun middleware nel percorso della richiesta.
- 01
Ingest
Carichi dalla web UI o dall'API REST. PDF, DOCX, XLSX, HTML, TXT, Markdown e CSV. Le pagine scansionate vengono riconosciute da sole e passate all'OCR in italiano e inglese.
Tika · OCR
- 02
Embed & store
Il testo viene diviso in blocchi sovrapposti ed embeddato con BAAI/bge-m3 (1024 dimensioni, oltre 100 lingue), nello stesso processo. I vettori finiscono in Qdrant con i metadati che servono al filtraggio per ruolo.
bge-m3 · Qdrant
- 03
Retrieve
La domanda viene embeddata allo stesso modo e la risposta si costruisce dai passaggi più vicini. Soglia di rilevanza e top-K sono configurabili, e il filtro per ruolo si applica qui: una query non arriva mai al modello con passaggi che chi chiede non può vedere.
I3K orchestrator
- 04
Generate
I passaggi vanno al modello linguistico locale, che genera la risposta parola per parola mostrando ogni fonte. Il modello gira sul tuo hardware. Zero chiamate esterne.
EuLLM · Mistral 7B
Powered by EuLLM
I3K RAG Enterprise integra EuLLM come backend di generazione raccomandato. Inference engine LLM open-source costruito in UE. Nessuna dipendenza cloud statunitense nel tuo stack AI — e trasparenza completa su pesi, training e governance.
EuLLM
Default inference engine — EU-trained foundation models
www.eullm.eu
Modelli supportati
Default che funzionano out of the box. Cambia qualsiasi modello dal flusso di setup.
| Ruolo | Default | Note |
|---|---|---|
| Modello di embedding | BAAI/bge-m3 | 1024 dimensioni, oltre 100 lingue, calcolato nel processo tramite Candle. |
| Motore di inferenza | eullm | Avviato e tenuto aggiornato dal motore. Riconosce la GPU all'avvio. eullm.eu |
| Modello di chat | Scaricato al primo avvio | Versione dichiarata nel manifest della release e verificata via sha256 prima dell'uso. |
| OCR | Tesseract (ita + eng) | Applicato in automatico alle pagine che restituiscono troppo poco testo. |
Formati documentali
Le pagine scansionate non richiedono passaggi particolari: quando una pagina restituisce troppo poco testo viene rasterizzata e passata all'OCR in italiano e inglese.
- PDF (con OCR)
- DOCX
- XLSX
- CSV
- HTML
- TXT
- Markdown
Estrazione strutturata
Solo ProOltre al retrieval, l'edizione Pro include un engine di estrazione strutturata: dato uno schema target (JSON, colonne di tabella, campi nominati), l'engine estrae valori tipizzati da documenti non strutturati con provenienza fino al chunk sorgente. Utile per contract analytics, pipeline KYC e reporting regolatorio.
- JSON-Schema come contratto fra richiesta di estrazione e risultato
- Citazione al chunk sorgente per ogni campo estratto
- Confidence score e soglie di rifiuto regolabili per campo
- Modalità batch e streaming
Backup & restore (integrati)
Un archivio giornaliero schedulato contiene il database applicativo e uno snapshot del vector store presi insieme, così il ripristino riporta indietro una coppia coerente e non due metà disallineate. Il restore gira sull'installazione in esecuzione, dall'endpoint amministrativo. Nessun add-on, nessuna licenza separata.
Cosa contiene l'archivio
- Database applicativo SQLite
- Snapshot Qdrant, preso nello stesso momento
- Documenti sorgente caricati
Come si comporta
- Schedulato ogni giorno, senza fermo servizio
- File locali sotto BACKUP__DIR
- Non carica niente da nessuna parte — punta lì i tuoi strumenti di backup
Destinazioni esterne (Pro)
- S3-compatibile
- WebDAV / Nextcloud
- SFTP
- FTP
- Backblaze B2
Community scrive l'archivio su disco locale, che non sopravvive alla perdita dell'host che lo ha prodotto. L'edizione Pro aggiunge copie schedulate verso lo storage che già usi, con politiche di retention e restore selettivo — scegli una destinazione residente in UE e il discorso sulla sovranità resta intatto mentre la copia esce dall'edificio.
Topologie di deployment
Scompatti l'archivio e lanci il binario. Linux x86_64, Linux ARM64 oppure Windows a 64 bit.
Host singolo
Il caso normale. Un binario, una porta; avvia da sé vector store e motore di inferenza.
Air-gapped
Dopo il primo avvio non serve rete. Prepari la directory dati su una macchina connessa, poi la sposti.
Dietro un proxy
Il motore parla HTTP in chiaro; il TLS si termina sul reverse proxy che la tua organizzazione già usa.
Installazione
mkdir i3k-rag-engine
tar -xzf i3k-rag-engine-linux-x86_64.tar.gz -C i3k-rag-engine
cd i3k-rag-engine
echo 'AUTH__JWT_SECRET=change-this-to-a-long-random-string' > .env
./i3k-rag-engineCompliance e sicurezza
GDPR ed EU AI Act sono requisiti di engineering di prima classe, non checkbox di marketing. Sorgente AGPL-3.0: tutto è auditabile.
- Autenticazione JWT con ruoli (User, Super User, Admin)
- Controlli GDPR Art. 32: TLS in front, password hashing (bcrypt), expiration delle session
- Audit trail a livello applicativo
- Diritto all'oblio: cancellazione per documento e per utente
- Data residency enforced: nessuna chiamata in uscita nel request path
- Sorgente AGPL-3.0 — trasparenza completa, auditabilità completa
Pronto a far girare RAG sulla tua infrastruttura?
Parti dall'edizione Community open-source, oppure parla con noi di Pro con estrazione strutturata, SSO, audit log e SLA.