Déployer Devstral en local avec vLLM
Préparer le déploiement
Déployer Devstral en local consiste à lancer un serveur d’inférence sur votre machine qui expose une API compatible OpenAI. Vibe se connecte ensuite à ce serveur comme s’il parlait au cloud Mistral.
Le framework recommandé est vLLM, un moteur d’inférence haute performance développé par la communauté open-source.
Prérequis matériels
Le choix du GPU détermine la précision et la fenêtre de contexte disponibles :
| Configuration | GPU | VRAM | Précision | Contexte |
|---|---|---|---|---|
| Recommandée | NVIDIA H100 / A100 | 80 Go | FP8 | ~128K tokens |
| Alternative | RTX 4090 / RTX 6000 | 24-48 Go | 4-bit (quantifié) | ~32K tokens |
| CPU-only | Aucun GPU | 64+ Go RAM | - | Lent (non recommandé) |
Note importante : la configuration CPU-only est fonctionnelle mais extrêmement lente pour un modèle 24B. Elle convient uniquement pour des tests, pas pour un usage quotidien.
Installation de vLLM
Prérequis logiciels
# Python 3.10+ requis
python3 --version
# Installer vLLM
pip install vllm
Assurez-vous que les drivers NVIDIA et CUDA sont installés et fonctionnels :
nvidia-smi
# Doit afficher votre GPU et la version CUDA
Lancer le serveur Devstral
La commande principale pour démarrer le serveur d’inférence :
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--port 8080
Décortiquons les flags :
mistralai/Devstral-Small-2-24B-Instruct-2512: le modèle Hugging Face à charger--tool-call-parser mistral: active le parsing des appels d’outils au format Mistral--enable-auto-tool-choice: permet au modèle de choisir automatiquement ses outils--port 8080: le port d’écoute du serveur
Flags optionnels importants
Multi-GPU
Si vous avez plusieurs GPU, activez le parallélisme tensoriel :
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--tensor-parallel-size 2 \
--port 8080
--tensor-parallel-size 2 distribue le modèle sur 2 GPU. La VRAM combinée permet une fenêtre de contexte plus grande.
Précision réduite
Pour les GPU avec moins de VRAM :
# FP8 sur H100/A100
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--dtype float16 \
--port 8080
# 4-bit sur RTX 4090
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--quantization awq \
--port 8080
Limiter la fenêtre de contexte
Si votre VRAM est limitée, réduisez la longueur de contexte maximale :
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--max-model-len 16384 \
--port 8080
Connecter Vibe au serveur local
Une fois le serveur lancé, configurez Vibe pour l’utiliser :
vibe
# Dans la session interactive :
/config
# Sélectionner "local" comme modèle
# Le port 8080 est utilisé par défaut
Vibe détecte automatiquement le serveur local sur le port 8080 et bascule en mode local.
Vérifier que tout fonctionne
Testez avec une requête simple :
# Test direct de l'API
curl http://localhost:8080/v1/models
# Test dans Vibe
vibe --agent plan
> Liste les fichiers du répertoire courant
Lancer en tant que service
Pour un usage quotidien, lancez vLLM comme un service système :
# Créer un service systemd
sudo tee /etc/systemd/system/vllm-devstral.service << EOF
[Unit]
Description=vLLM Devstral Server
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=/usr/local/bin/vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 --tool-call-parser mistral --enable-auto-tool-choice --port 8080
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now vllm-devstral
Résolution de problèmes
Erreur CUDA out of memory
Réduisez --max-model-len ou passez en quantification 4-bit.
Serveur lent au premier lancement
Le premier démarrage télécharge et charge le modèle (~14 Go). Les lancements suivants sont plus rapides grâce au cache.
Vibe ne trouve pas le serveur local
Vérifiez que le port 8080 est bien en écoute :
curl http://localhost:8080/health
Points clés à retenir
- vLLM est le framework recommandé pour servir Devstral en local
- Les flags
--tool-call-parser mistralet--enable-auto-tool-choicesont obligatoires - Un H100/A100 offre FP8 et 128K de contexte, une RTX 4090 offre 4-bit et 32K
- Réduisez
--max-model-lensi la VRAM est insuffisante - Connectez Vibe avec
/config→ sélectionner “local” - Lancez vLLM comme service systemd pour un usage quotidien