Modèles supportés et compatibilité
Compatibilité des modèles Mistral
Tous les modèles Mistral ne supportent pas les sorties structurées de la même manière. Avant de commencer à coder, vous devez vérifier que le modèle que vous utilisez est compatible avec l’approche choisie.
Règle générale
La bonne nouvelle : la quasi-totalité des modèles Mistral supportent les sorties structurées, aussi bien en JSON Mode qu’en Custom Structured Outputs. La seule exception notable est codestral-mamba, qui ne supporte ni l’un ni l’autre.
Les modèles principaux
Voici les modèles les plus couramment utilisés et leur compatibilité (avril 2026) :
Modèles de la famille Mistral Large
- mistral-large-latest — Support complet (JSON Mode + Custom). C’est le modèle recommandé pour les tâches complexes nécessitant des sorties structurées fiables.
- mistral-medium-latest — Support complet. Bon compromis performance/coût pour les pipelines de production.
- mistral-small-latest — Support complet. Idéal pour les tâches simples (classification, extraction d’entités basiques) avec un budget limité.
Modèles Ministral (compacts)
- ministral-8b-latest — Support complet. Excellent pour les tâches d’extraction légères avec une latence minimale.
- ministral-3b-latest — Support complet. Le plus léger, adapté aux cas où la vitesse prime sur la complexité.
Modèles spécialisés
- codestral-latest — Support complet. Optimisé pour le code, mais les sorties structurées fonctionnent aussi pour des tâches non-code.
- codestral-mamba — Non supporté. Ce modèle utilise une architecture différente (Mamba) qui n’est pas compatible avec les mécanismes de sorties structurées.
- mistral-embed — Non applicable. C’est un modèle d’embeddings, pas de génération de texte.
Choisir le bon modèle
Le choix du modèle dépend de plusieurs facteurs :
Pour du prototypage
Utilisez mistral-small-latest ou ministral-8b-latest. Ils sont rapides, peu coûteux, et suffisants pour valider votre schéma et votre prompt.
# Prototypage — modèle léger
response = client.chat.parse(
model="ministral-8b-latest",
messages=messages,
response_format=MonSchema
)
Pour la production
Utilisez mistral-large-latest pour les tâches complexes (extraction multi-champs, analyse de sentiments nuancée, classification fine) ou mistral-small-latest pour les tâches simples à fort volume.
# Production — modèle puissant
response = client.chat.parse(
model="mistral-large-latest",
messages=messages,
response_format=MonSchema,
temperature=0 # Reproductibilité maximale
)
Pour les pipelines à haute fréquence
Les modèles Ministral sont optimisés pour la latence. Si vous traitez des milliers de requêtes par minute (classification de tickets, triage d’emails), ministral-8b-latest offre le meilleur ratio latence/qualité.
// TypeScript — pipeline haute fréquence
const response = await client.chat.parse({
model: "ministral-8b-latest",
messages,
responseFormat: MonSchema,
maxTokens: 128, // Limiter pour la vitesse
});
Paramètre temperature et sorties structurées
Un point important : le paramètre temperature influence la variabilité de la sortie, même en mode structuré.
- temperature: 0 — Sortie déterministe. Recommandé pour la production et les pipelines où la reproductibilité est critique.
- temperature: 0.1-0.3 — Légère variabilité. Utile si vous voulez des formulations légèrement différentes dans les champs textuels.
- temperature: 0.7+ — Forte variabilité. À éviter avec les sorties structurées — le modèle peut produire des valeurs incohérentes.
Vérifier la compatibilité programmatiquement
En production, vous pouvez vérifier que votre modèle supporte les sorties structurées en capturant les erreurs :
from mistralai import Mistral
from mistralai.models import SDKError
client = Mistral(api_key=api_key)
try:
response = client.chat.parse(
model="codestral-mamba", # Non supporté
messages=[{"role": "user", "content": "Test"}],
response_format=MonSchema
)
except SDKError as e:
print(f"Modèle non compatible : {e}")
Évolution des modèles
Mistral publie régulièrement de nouveaux modèles. La compatibilité avec les sorties structurées est devenue un standard — les nouveaux modèles la supportent systématiquement. Consultez la documentation officielle pour la liste à jour.
Points clés à retenir
- Tous les modèles Mistral supportent les sorties structurées sauf
codestral-mamba - Utilisez
temperature: 0en production pour des sorties reproductibles - Choisissez le modèle selon votre besoin :
mistral-largepour la qualité,ministral-8bpour la vitesse - Les deux approches (JSON Mode et Custom) sont supportées par les mêmes modèles