Assistente AI Standalone
Un AI standalone zero-knowledge per questo sito
In questo sito ho implementato ChaD GPT, un assistente web capace di rispondere a domande su di me e sui contenuti del sito. La caratteristica principale è che gira direttamente nel browser usando il tuo hardware. Non serve server-side processing e non ci sono costi operativi AI lato server. Dati e processing restano locali, con un livello elevato di privacy e security.
È importante chiarire che non è un assistente super-intelligente e richiede hardware moderno. Una GPU da 3GiB è in genere sufficiente. Funziona su desktop, laptop e anche su diversi dispositivi mobile.
Key Concepts
What is a GPU?: una Graphics Processing Unit e un processore specializzato in parallel processing. Molti algoritmi AI e grafici usano Matrix Calculus e operazioni vettoriali come Dot Product, che possono essere parallelizzate.
How it works
ChaD GPT è costruito con Transformer.js, una libreria per eseguire large language models in JavaScript. Per interfacciarsi con l’hardware usa WebGPU, la nuova graphics API ad alte performance. In questo modo l’assistente gira in locale senza dipendere da server esterni.
Il modello di inference usato è SmolLM 1.7B, un buon compromesso tra performance e dimensione.
Il modello non ha conoscenza specifica del sito in modo nativo. Per questo la conoscenza viene estesa con RAG. Le informazioni sono indicizzate in Qdrant come embeddings vettoriali, così il sistema può recuperare contesto rilevante e rispondere meglio.
Un altro componente chiave è la chat memory. Essendo un modello piccolo, il context window è limitato. Per compensare, una memoria applicativa salva elementi importanti in Neo4j, un graph database.
Requirements
I browser moderni supportano WebGPU, incluso Chrome e Safari senza configurazioni speciali.
Per Firefox su Linux, conviene usare Firefox Nightly, dove WebGPU e generalmente disponibile.
Serve una GPU: più è potente, più le risposte sono rapide. Con 3GiB di VRAM in genere si lavora bene.
How to use it
Per usare ChaD GPT, clicca l’icona chat in basso a destra (o nel menu top su mobile). Alla prima esecuzione devi autorizzare il download del modello (circa 1.7GiB). Dopo il download puoi iniziare a interagire. L’assistente e istruito a rispondere su contenuti relativi a me e al sito.
Se il browser non supporta WebGPU, vedrai un messaggio che indica la non disponibilita della funzione AI.
Privacy considerations
ChaD GPT gira nel browser, quindi il processing avviene sul dispositivo dell’utente. Per comodita operativa uso una versione privata dei database raggiungibile via rete, ma il design dell’assistente e orientato a minimizzare esposizione dati.