Rossi Stefano Logo

Rossi Stefano

Assistant AI Standalone

Assistant AI Standalone

Rossi Stefano
features
  • ML
  • AI
  • Transformerjs
  • VueJS
  • WebGPU
  • Un AI standalone zero-knowledge pour ce site

    Sur ce site, j’ai implémenté ChaD GPT, un assistant web capable de répondre à des questions sur moi et sur le contenu du site. La particularité est qu’il tourne directement dans le navigateur avec le hardware de l’utilisateur. Pas de server-side processing, et quasiment aucun coût AI côté serveur. Données et processing restent locaux, avec un bon niveau de privacy et de security.

    Important: ce n’est pas un assistant ultra-intelligent et il necessite un hardware moderne. Une GPU de 3GiB est souvent suffisante. Il peut fonctionner sur desktop, laptop et plusieurs appareils mobile.

    Key Concepts

    What is a GPU?: une Graphics Processing Unit est un processeur spécialisé pour le parallel processing. De nombreux algorithmes AI et graphiques reposent sur Matrix Calculus et des opérations vectorielles comme Dot Product, facilement parallélisables.

    How it works

    ChaD GPT est construit avec Transformer.js, une bibliothèque pour exécuter des large language models en JavaScript. Pour l’accès hardware, il utilise WebGPU, la nouvelle graphics API haute performance. Cela permet une exécution locale sans dépendance à un serveur externe.

    Le modèle d’inférence est SmolLM 1.7B, un bon compromis entre taille et performance.

    Le modèle n’a pas nativement la connaissance spécifique du site. Pour cela, la connaissance est augmentée via RAG. Les informations sont indexées dans Qdrant sous forme d’embeddings pour un retrieval pertinent.

    Autre composant important: la chat memory. Comme le modèle est compact, le context window est limité. Une mémoire applicative conserve les éléments utiles dans Neo4j, un graph database.

    Requirements

    Les navigateurs modernes supportent WebGPU, notamment Chrome et Safari sans configuration spéciale.

    Pour Firefox sous Linux, il est recommandé d’utiliser Firefox Nightly, où WebGPU est généralement disponible.

    Une GPU est nécessaire: plus elle est puissante, plus les réponses sont rapides. 3GiB de VRAM suffisent souvent.

    How to use it

    Pour utiliser ChaD GPT, clique sur l’icône de chat en bas à droite (ou dans le menu top sur mobile). Au premier lancement, il faut autoriser le téléchargement du modèle (environ 1.7GiB). Ensuite, tu peux poser tes questions. L’assistant est configuré pour répondre sur les sujets liés à moi et au site.

    Si le navigateur ne supporte pas WebGPU, un message indiquera que la fonctionnalité AI n’est pas disponible.

    Privacy considerations

    ChaD GPT tourne dans le navigateur, donc le processing se fait sur l’appareil utilisateur. Pour des raisons pratiques, j’utilise une version privée des bases de données accessible via internet, mais l’architecture reste orientée minimisation d’exposition des données.


    Open ChaD GPT