Project Exocortex

"Project Exocortex è un'estensione cognitiva digitale privata progettata per trasformare un archivio personale di 1.5 TB in una base di conoscenza interrogabile. Il sistema sfrutta la stabilità dei dati per creare un archivio semantico perfetto, garantendo risposte precise ed eliminando le allucinazioni tramite un approccio RAG locale."

Visual del progetto Exocortex

The Pitch

Project Exocortex è un sistema di Intelligenza Artificiale Sovrana progettato per trasformare il mio intero archivio digitale personale (Email, PDF, Documenti Office) in un "secondo cervello". Utilizzando un approccio RAG (Retrieval-Augmented Generation) locale, il sistema permette di dialogare con decenni di documenti senza che un singolo byte lasci la mia rete privata.

Abstract del Progetto

Viviamo nell'era dell'accumulo digitale. Il mio archivio personale conta 1.5 TB di dati statici: file .pst di Outlook, presentazioni PowerPoint, PDF e documenti Word. Project Exocortex non è solo un motore di ricerca, ma una pipeline di arricchimento semantico.

Sviluppato interamente in Node.js/TypeScript per un'integrazione fluida con il mio workflow in VS Code, il progetto adotta un'architettura ibrida orientata alla validazione progressiva su hardware legacy (Linux Mint). L'obiettivo è eliminare le allucinazioni delle AI generative fornendo loro, come contesto, solo i miei dati reali e verificati.

Perché Project Exocortex?

Ecco cosa rende questo progetto tecnicamente valido e strategicamente differente dalle soluzioni cloud commerciali:

1. Privacy Assoluta (Zero Exfiltration)

A differenza dei chatbot commerciali, Exocortex opera su una rigorosa segregazione fisica. La vettorializzazione e l'inferenza avvengono interamente sulla LAN. Utilizzo modelli open-source (Llama 3, Mistral) serviti localmente tramite Ollama. I miei dati finanziari, legali e personali non lasciano mai l'hardware locale.

2. Validazione su Hardware Legacy (Fase 0)

L'architettura attuale sfida la necessità di hardware costoso. Il sistema è validato su un cluster distribuito Linux Mint LMDE 7 composto da hardware di recupero (tra cui un Dell Latitude 7440 i7 e un Dell Latitude 7400). Grazie a tecniche come la quantizzazione estrema e framework come bitnet.cpp, ottengo reattività nell'inferenza senza ricorrere alla forza bruta.

3. Pipeline "ETL Semantico"

Non si tratta solo di storage, ma di trasformazione del dato. Ho implementato una pipeline ETL (Extract, Transform, Load) semantica "una tantum" che agisce in profondità:

Tech Stack Highlights

Node.js & TypeScript
Ollama (GGUF Models)
LangChain.js (Agentic RAG)
LanceDB / ChromaDB
transformers.js (Local Embeddings)
2.5GbE Mesh Network

Diagrammi Fase 0

Architettura - Fase 0

flowchart TD A["Workstation di Sviluppo
Surface / Windows
- VS Code Remote SSH
- GitHub Copilot"] B["Web / Orchestrator Node
LMDE 7 - Dell Latitude 7400
- Node.js / TypeScript
- LangChain.js (Agentic RAG)
- API REST / Nginx / PM2
- Router Agent
- Recursive Retrieval"] C["AI Server
LMDE 7 - Dell Latitude 7440 i7
- Ollama
- Llama 3.2 1B (tagging)
- bitnet.cpp (1.58-bit)
- transformers.js (embedding)
- Dedup semantica"] D["Storage / Knowledge
NAS / SSD USB
- 1.5 TB dati grezzi
- Documenti, PDF, PST
- LanceDB / ChromaDB su SSD NVMe
- Backup KB"] E["Pipeline Logica RAG
- Ingestione + hashing
- Parsing (Office, PDF, PST)
- Chunking
- Embedding locali
- Indicizzazione vettoriale
- Deduplicazione (SHA + coseno)
- pHash immagini
- Tagging LLM (Llama 1B)
- Agentic RAG"] A -->|SSH| B B -->|ETL / RAG| C B -->|I/O Dati| D

Flow - Fase 0

flowchart TD A["SORGENTI DI DATI
- Documenti Office / PDF
- Archivi PST/OST
- Immagini
- File legacy"] B["ETL ENGINE (Node.js - LMDE 7)
- Hashing (SHA-256)
- Parsing (Office, PDF, PST)
- Normalizzazione contenuti
- Chunking"] C["EMBEDDING ENGINE (transformers.js)
- Generazione embedding locali
- Batch processing"] D["VECTOR DB (LanceDB / ChromaDB)
- Indicizzazione vettoriale
- Storage su SSD NVMe
- Filtri ibridi (metadati + vettori)"] E["ROUTER AGENT (LangChain.js - LMDE 7)
- Decide il tipo di retrieval
- Attiva recursive retrieval se necessario
- Prepara il contesto per LLM"] F["AI SERVER (Dell Latitude 7440 i7)
- Ollama
- Llama 3.2 1B (tagging, classificazione, dedup semantica)
- bitnet.cpp (inferenza 1.58-bit)
Output:
- Tagging automatico
- Classificazione topic
- Validazione duplicati
- Risposte RAG contestualizzate"] G["ORCHESTRATOR (Node.js - LMDE 7)
- Post-processing
- Formattazione risposta
- Logging / audit"] H["WORKSTATION DEV
- VS Code Remote SSH
- Interfaccia Web"] A -->|1. Lettura / Scansione| B B -->|2. Testo pulito / chunk| C C -->|3. Vettori + metadati| D D -->|4. Similarity Search| E E -->|5. Prompt + contesto| F F -->|6. Risposta LLM| G G -->|7. Risposta finale| H