← Tous les projets

Logiciel · IA

Mocca

Une application de clavardage IA locale que vous exécutez sur votre propre ordinateur. Elle charge les modèles GGUF directement dans le processus, conserve toutes les conversations sur le disque et ne dépend jamais d'un service infonuagique ou d'un serveur de modèles distinct.

Année
2026 →
Rôle
Solo · De bout en bout
Statut
En développement

Qu'est-ce que c'est

Mocca est une interface web auto-hébergée permettant de discuter avec des modèles de langage locaux. Vous lui indiquez un fichier GGUF et il exécute le modèle directement via llama-cpp-python. Il n'y a donc ni Ollama, ni serveur de modèles externe, ni aucune donnée quittant votre ordinateur pour répondre à une question.

Le projet repose sur quatre objectifs. Être facile à utiliser, jusqu'au téléchargement de nouveaux modèles directement depuis l'application. Être autonome et conçu avant tout pour une utilisation locale. Fonctionner sur Windows et Arch Linux. Et offrir une journalisation détaillée afin que les problèmes puissent être diagnostiqués rapidement. L'interface adopte volontairement un thème sombre monochrome.

Comment c'est construit

Le backend repose sur FastAPI exécuté avec uvicorn, avec un routeur distinct pour chaque domaine fonctionnel. Le frontend utilise du HTML, du CSS et des modules ES natifs, sans étape de compilation ni framework. Le stockage est assuré par SQLite via la bibliothèque standard de Python. L'ensemble est volontairement léger en dépendances.

Le moteur d'inférence est chargé de façon paresseuse. Ainsi, l'interface, la navigation des modèles, les téléchargements et les paramètres fonctionnent même si llama-cpp-python n'est pas encore installé. La génération s'exécute dans un thread de travail qui diffuse les jetons vers le navigateur via Server-Sent Events. Le modèle chargé se décharge automatiquement après une période d'inactivité afin de libérer la mémoire.

Les modèles proviennent directement de l'API publique de Hugging Face plutôt que d'une liste maintenue manuellement. Mocca identifie les dépôts GGUF les plus téléchargés, sélectionne automatiquement un fichier de taille appropriée, lit l'architecture de chaque modèle à partir de son en-tête et ignore ceux qui sont trop récents pour être chargés par la version intégrée de llama.cpp. La détection matérielle native évalue également si un modèle pourra tenir dans votre mémoire vive ou votre mémoire vidéo avant son téléchargement.

Ce que le modèle peut faire

Le modèle de clavardage peut utiliser des outils, c'est-à-dire de petites fonctionnalités autonomes comme une calculatrice, la conversion d'unités, l'accès aux fichiers, la recherche web, la météo ou la lecture de transcriptions YouTube. Ajouter un outil consiste simplement à déposer un fichier. Le registre les détecte automatiquement au démarrage. Un routeur basé sur un modèle n'expose que les catégories d'outils nécessaires à chaque message, ce qui est particulièrement important sur processeur, où les schémas d'outils trop verbeux augmentent fortement le temps de traitement des requêtes.

Mocca apprend des informations durables à votre sujet au fil des conversations. Après chaque échange, une étape distincte et ciblée extrait les informations pertinentes à conserver, comme votre nom, votre localisation, votre travail ou vos préférences récurrentes, puis les stocke pour les réinjecter dans les conversations futures. C'est l'équivalent local et transparent le plus proche d'une mise à jour du modèle lui-même. Chaque information enregistrée est visible dans les paramètres et peut être supprimée individuellement.

Une conversation peut également inclure des documents joints. Le modèle ne reçoit jamais leur contenu directement dans le prompt. Il les consulte à la demande via un outil limité à la session en cours. Ainsi, une conversation ne peut jamais accéder aux fichiers d'une autre. Les modifications sont ensuite enregistrées dans le document approprié.

Conçu pour fonctionner localement

La seule fonctionnalité autorisée à communiquer vers l'extérieur est la recherche web. Elle est activée par défaut, mais peut être désactivée d'un simple clic pour obtenir un fonctionnement entièrement hors ligne. Tout le reste, chaque conversation, chaque paramètre et chaque modèle téléchargé, demeure sur votre ordinateur. Il n'y a ni compte, ni télémétrie, ni service infonuagique.

La dégradation élégante est appliquée partout dans l'application. Si la détection matérielle échoue, les indications de compatibilité sont simplement masquées et l'application continue de fonctionner. Si Hugging Face est inaccessible, le catalogue l'indique au lieu d'afficher des informations obsolètes. Mocca ne devrait jamais être incapable de démarrer ou de discuter simplement parce qu'une fonctionnalité optionnelle est indisponible.

Points forts
  • Modèles exécutés en mémoire. Fichiers GGUF chargés directement via llama-cpp-python. Pas de Ollama, pas de serveur de modèle externe.
  • Local d'abord par défaut. Pas de compte, pas de télémétrie, pas de cloud. Un seul interrupteur le rend entièrement hors ligne.
  • Des outils que le modèle appelle. Calculatrice, unités, fichiers, web, météo, YouTube. Déposez un fichier pour en ajouter un.
  • Mémoire à long terme. Une passe ciblée capture les faits durables et les rappelle dans les conversations suivantes, chacun supprimable.
  • Catalogue Hugging Face. Sélections GGUF en direct, de bonne taille, avec un indice de compatibilité matérielle avant le téléchargement.
  • Aucune étape de build. Backend FastAPI, frontend en modules ES natifs, stockage SQLite. Léger en dépendances par choix.
Stack
Python · FastAPI · LLama · SQLite