LLM multimodal vision en local : analyser des images avec Ollama
Décrire une photo, extraire un tableau d'un screenshot, lire le total d'une facture scannée : depuis 2024 les LLM vision open-weight tiennent la comparaison avec GPT-4o sur ces tâches, et Ollama les expose avec la même simplicité que les modèles texte. Ce guide montre comment installer un LLM vision local avec Ollama, l'appeler depuis Python avec une image base64, et tirer parti de Qwen 3.5, Gemma 4 ou Qwen 3.8 selon votre VRAM.
#Pourquoi un LLM vision en local ?
Envoyer une facture client, un screenshot médical ou un document RH chez OpenAI pose un problème de confidentialité que les directions juridiques refusent de plus en plus. Un LLM vision local répond à ces cas concrets : OCR de pièces comptables, description automatique d'un catalogue produit, modération d'images, accessibilité (alt-text), extraction de données depuis des PDF scannés.
La différence avec un OCR classique (Tesseract, PaddleOCR) : un LLM vision comprend la sémantique. Il sait dire "le numéro de TVA est FR12345678901" alors qu'un OCR vous rend une soupe de caractères que vous devez ensuite parser. Sur des documents structurés, la fiabilité dépasse 95 % en mode "extraction JSON".
#Les modèles vision disponibles dans Ollama
Ollama supporte nativement plusieurs familles vision depuis la version 0.4 (octobre 2024), et la génération 2026 a rebattu les cartes : la vision est désormais intégrée au tag standard de Qwen 3.5 et Gemma 4, plus besoin d'une variante -vl séparée. Voici les options pertinentes en 2026, classées par taille et qualité d'OCR français.
- qwen3.5:9b
- Le meilleur compromis qualité/VRAM en 2026. Excellente OCR FR, comprend les tableaux et formulaires, contexte 256k tokens, licence Apache 2.0. ~6,6 Go de poids en Q4.
- qwen3.5:4b
- Version légère pour 4-6 Go de VRAM ou Mac M1/M2 16 Go. Même famille multimodale Qwen 3.5, OCR FR correcte, descriptions un peu moins riches. ~3,4 Go.
- qwen3.8:27b
- Pour RTX 3090/4090/5090 (24 Go) : qualité proche de GPT-4o sur l'analyse de documents complexes. Vision, contexte 262k, Apache 2.0. ~18 Go de poids en Q4.
- gemma4:12b
- L'alternative Google (Gemma 4, avril 2026), multimodale et passée en Apache 2.0. Très bonne en description générale, un peu moins tranchante en OCR pure. ~7,6 Go.
- gemma4:26b
- Gemma 4 26B-A4B, MoE multimodal. Le palier haut de gamme pour usage pro intensif : ~19 Go de poids, tourne sur 24 Go de VRAM ou un Mac Studio à mémoire unifiée.
- gemma4:e2b-it-qat
- Gemma 4 E2B quantisé QAT (~4,3 Go). Option compacte pour petite VRAM ou edge, sous licence Apache 2.0.
- qwen3.5:2b
- Qwen 3.5 2B multimodal (~1,9 Go, contexte 256k). Pour Raspberry Pi 5 ou descriptions rapides en masse. Pas d'OCR sérieuse sur documents complexes.
- llava:7b / llava:13b
- L'ancêtre historique de 2023. À ne plus déployer : la qualité est très largement dépassée par Qwen 3.5 et Gemma 4 en 2026.
#Prérequis matériels
La VRAM nécessaire pour un LLM vision est légèrement supérieure à son équivalent texte, à cause du vision encoder (souvent un ViT) qui reste chargé en mémoire en plus du modèle de langage.
- 8 Go VRAM (RTX 3060 12GB, 4060, M1/M2 16GB)
- qwen3.5:4b confortable, ou qwen3.5:9b (6,6 Go) qui tient tout juste en Q4.
- 12 Go VRAM (RTX 3060 12GB, 4070, 5070)
- qwen3.5:9b confortable, gemma4:12b en Q4_K_M.
- 16 Go VRAM (RTX 4070 Ti Super, 4080, 5070 Ti)
- Tout ce qui précède + contexte 32k tokens, ou qwen3.5:9b-q8_0 pour la qualité max de la tranche.
- 24 Go VRAM (RTX 3090, 4090, 5090)
- qwen3.8:27b (~18 Go) ou gemma4:26b, qualité proche cloud.
- Mac M-series 24-48 Go unifié
- qwen3.5:9b ou qwen3.8:27b grâce à la mémoire unifiée. Préférez M3/M4 pour la bande passante.
Ollama doit être en version 0.4 minimum pour les modèles vision modernes. Vérifiez avec ollama --version. Si vous êtes en dessous, mettez à jour avant d'aller plus loin.
#1. Installer un modèle vision
L'installation est identique à un modèle texte : ollama pull télécharge les poids et le vision encoder en une seule commande.
Le téléchargement fait environ 6,6 Go (poids LM en Q4 + encoder ViT). Comptez 2-3 minutes sur fibre. Vérifiez ensuite que le modèle est listé :
#2. Premier test en CLI
Ollama accepte les images directement dans la CLI depuis la version 0.4 : passez le chemin du fichier après votre prompt.
Le modèle charge l'image, l'encode via ViT, et répond en streaming. Sur une RTX 4070, comptez 2-4 secondes pour une description courte, 8-12 secondes pour une analyse détaillée.
#3. API Python avec image base64
Pour intégrer un LLM vision dans une app, Ollama expose son endpoint REST sur http://localhost:11434. L'image se passe soit en chemin (binding Python), soit en base64 (HTTP brut).
Méthode recommandée : la bibliothèque officielle ollama-python. Elle gère l'encodage base64 pour vous et accepte un chemin directement.
Si vous préférez gérer le base64 vous-même (image en mémoire, blob S3, upload via FastAPI), voici la version explicite :
#4. Cas pratique : OCR d'une facture FR
L'extraction structurée depuis un document scanné est le cas d'usage business le plus demandé. Le pattern qui marche le mieux : demander une sortie JSON avec un schéma explicite dans le prompt.
Deux astuces qui changent la fiabilité du tout au tout : passer format='json' (Ollama force alors un JSON valide en sortie) et baisser la température à 0.1 pour limiter les hallucinations sur les montants. Sur 100 factures FR variées, Qwen 3.5 9B obtient typiquement 92-96 % d'extraction correcte montant TTC + date + fournisseur.
#Qwen 3.5 vs Gemma 4 : que choisir ?
Les deux familles dominent la scène open-weight vision en 2026. Notre comparatif terrain sur des cas francophones, entre qwen3.5:9b et gemma4:12b :
- OCR français (factures, contrats)
- Qwen 3.5 gagne clairement. Gemma 4 a tendance à "inventer" des chiffres sur les documents flous. Avantage Qwen +15 % de précision.
- Description générale d'image
- Match nul. Gemma 4 donne des descriptions plus narratives, Qwen 3.5 plus factuelles. Question de goût.
- Compréhension de tableaux
- Qwen 3.5 excelle. C'est l'un des rares modèles de sa taille qui sait lire un tableau croisé Excel sans le mélanger.
- Captioning multilingue (FR/EN/ES)
- Qwen 3.5 a été entraîné sur plus de langues. Gemma 4 est un cran meilleur en anglais pur.
- Latence sur RTX 4070
- Comparables : 2-4 s pour une réponse courte. Gemma 4 12B est 10-15 % plus rapide en première inférence (vision encoder plus léger).
- Licence
- Les deux sont en Apache 2.0 (usage commercial libre) : Gemma 4 a basculé en Apache 2.0 en avril 2026, alignant Google sur Qwen. Plus aucune restriction MAU à surveiller.
#Dépannage
- "Error: model does not support images"
- Vous appelez un modèle texte. Vérifiez que vous avez pullé un modèle multimodal récent (qwen3.5, gemma4, ou l'ancien llava). ollama list doit afficher le bon modèle.
- Le modèle décrit autre chose que l'image
- Le base64 est probablement corrompu ou contient le préfixe data:image. Strippez data:image/png;base64, avant l'appel. Testez d'abord en CLI pour isoler le problème.
- VRAM saturée au chargement
- Le vision encoder s'ajoute aux poids LM. Passez à une quantization plus agressive (q3_K_M) ou réduisez OLLAMA_NUM_CTX à 4096 dans l'env.
- OCR rate les accents français
- Précisez explicitement "Réponds en français en préservant les accents" dans le system prompt. Sinon le modèle latinise parfois (e à la place de é).
- Temps de réponse > 30 s
- Une image 4000x3000 explose le nombre de tokens visuels. Redimensionnez à 1024x1024 max avant envoi : 90 % de la qualité OCR pour 10 % du compute.
#Pour aller plus loin
Vous avez un LLM vision local fonctionnel. Trois directions naturelles pour aller plus loin :
- Intégrer dans une app Python complète
- Le guide Intégrer Ollama dans une application Python via l'API REST détaille FastAPI, streaming, function calling — applicable tel quel aux modèles vision.
- Construire un pipeline d'extraction documentaire
- Le guide Compta : extraction de factures montre l'industrialisation complète (queue de jobs, validation, export ERP) à partir d'un LLM vision local.
- Choisir le GPU adapté à votre charge
- Le guide Choisir son GPU pour l'IA locale couvre les paliers VRAM 12/16/24 Go et leur impact sur les modèles vision 4B/9B/27B.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.