SmolLM3 & SmolVLM2 : l’interface multimodale locale, simple, rapide… et vraiment privée
TL;DR — J’ai publié une interface web (Gradio) qui réunit SmolLM3-3B (texte) et SmolVLM2-2.2B-Instruct (vision) pour générer du texte et analyser des images… 100 % en local.
Pas d’API, pas d’abonnement, pas d’upload de données. Windows, macOS, Linux — détection auto du GPU (CUDA), d’Apple Silicon (MPS) ou CPU. Installation en quelques minutes.
👉 Code & docs : https://github.com/mikecastrodemaria/SmolLM3-M2-Interface-Multimodale
Pourquoi ce projet ?
Les IA locales ont fait un bond : on peut désormais travailler hors-ligne, protéger ses données, et prototyper sans friction ni coûts variables. Le problème ? Trop d’outils restent arides.
SmolLM3 & SmolVLM2 Multimodal Interface vise l’inverse : une expérience propre, multiplateforme, avec auto-détection matérielle et téléchargement/caching modèles intégrés. Bref, du plug-and-play sans sacrifier la flexibilité.
Ce que l’interface sait faire
- Génération de texte (SmolLM3-3B) : rédaction créative, explications, code, résumés.
- Vision (SmolVLM2-2.2B-Instruct) : Q&A visuel, description d’image, OCR léger.
- 100 % local : aucune donnée ne quitte votre machine.
- 6 langues : EN, FR, ES, DE, IT, PT.
- Interface web propre (Gradio) : ergonomie minimaliste, actions claires.
- Téléchargement/caching auto des modèles (Hugging Face).
- Détection matérielle : CUDA (NVIDIA), MPS (Apple Silicon), sinon CPU.
- Scripts “one-click” pour installer et lancer.
Cas d’usage concrets
- Vision & OCR : décrire un schéma, extraire des éléments d’une facture, checker un mockup.
- Q&A visuel : “Qu’est-ce qui cloche dans cette capture d’écran ?”
- Dev : générer des snippets, demander une explication de code, créer des tests.
- Rédaction : plan d’article, post LinkedIn, reformulation multilingue.
- Analyse documentaire : résumés, questions ciblées, reformulation pédagogique.
Exemples rapides
Texte (FR)
“Explique le principe des embeddings en 150 mots, niveau étudiant, avec une analogie simple.”
Vision (FR)
“Décris cette photo en français, puis liste 3 risques d’accessibilité (contrast, lisibilité, navigation).”
Dev (EN)
“Generate a Python function that validates French VAT numbers, with docstring and unit-tests.”
Installation (3 étapes + vérifs)
Prérequis
- Python 3.10+
- Git recommandé
- GPU NVIDIA (CUDA) ou Apple Silicon (M-series) ou CPU
- Espace disque : ~ 6–8 Go (modèles + cache)
Étape 1 — Cloner le repo
git clone https://github.com/mikecastrodemaria/SmolLM3-M2-Interface-Multimodale
cd SmolLM3-M2-Interface-Multimodale
Étape 2 — Créer l’environnement & installer
Windows (PowerShell)
py -3.10 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -U pip
pip install -r requirements.txt
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt
Étape 3 — Lancer
python app.py
Ouvrez l’URL Gradio affichée dans le terminal (généralement http://127.0.0.1:7860
).
Vérifications rapides
- Dans la page, sélectionnez un modèle Texte (SmolLM3-3B) ou Vision (SmolVLM2-2.2B).
- Première exécution : le modèle se télécharge automatiquement (cache Hugging Face).
- Regardez la bannière matérielle : CUDA, MPS ou CPU détecté.
- Si tout va bien : génération en quelques secondes sur GPU, plus lent sur CPU (normal).
Conseils de perf (selon votre machine)
Matériel | Réglages conseillés |
---|---|
NVIDIA 8–12 Go VRAM | Activez CUDA (auto). Gardez la taille de contexte par défaut. Évitez d’ouvrir 10 onglets Gradio en même temps. |
Apple Silicon (M1/M2/M3) | MPS activé automatiquement. Performances très correctes pour 2–3 B. |
CPU | Ça fonctionne, mais c’est plus lent : préférez les prompts plus courts, batch limité, pas d’images 4K. |
Astuce : si vous jonglez entre projets, nettoyez le cache HF de temps en temps (~/.cache/huggingface
).
Comment ça marche (sous le capot)
- PyTorch + Transformers (Hugging Face) pour charger SmolLM3 (texte) et SmolVLM2 (vision).
- Gradio gère l’interface, les uploads d’images et les prompts multilingues.
- Auto-détection de l’accélérateur : on route vers CUDA, MPS ou CPU sans manipulation manuelle.
- Caching : les modèles sont téléchargés une fois, puis réutilisés.
Dépannage express
- Ça ne voit pas mon GPU : mettez à jour les drivers NVIDIA (Windows) ou Xcode CLT (macOS). Vérifiez
torch.cuda.is_available()
outorch.backends.mps.is_available()
. - Téléchargement modèle trop lent : connectez-vous à Hugging Face (
huggingface-cli login
) ou utilisez un miroir local si vous en avez un. - Gradio ne s’ouvre pas : autorisez l’app dans votre firewall local ou relancez avec
--server-port 7861
. - Manque de RAM/VRAM : fermez les apps lourdes, réduisez la taille des images, baissez le contexte, ou basculez en CPU temporairement.
Feuille de route
- Historique des conversations (multi-sessions)
- Drag-&-drop multi-images avec chaînage d’analyses
- Mode “compose” (vision → plan → rédaction automatique)
- Exports (Markdown/PDF) et templates de prompts
- Dockerfile officiel
Sécurité & confidentialité
- Local-first : aucune donnée envoyée vers un service tiers.
- Open-source : auditable et réutilisable.
- Bonne hygiène : chiffrez vos disques, limitez les dossiers partagés si vous traitez des documents sensibles.
Licence, contributions, remerciements
- Projet open-source (voir
LICENSE
dans le repo). - Contributions bienvenues : issues, PR, idées d’UX, exemples de prompts multilingues.
- Merci à la communauté Hugging Face, aux mainteneurs de Gradio, et aux devs des modèles Smol*.
Essayez maintenant
Le plus simple : cloner, installer, lancer. 3 étapes.
Et racontez-moi vos cas d’usage : je prioriserai la feuille de route en fonction des retours terrain.
👉 Repo : https://github.com/mikecastrodemaria/SmolLM3-M2-Interface-Multimodale
Pas de commentaire