Aller au contenu principal

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-mambaNon 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: 0 en production pour des sorties reproductibles
  • Choisissez le modèle selon votre besoin : mistral-large pour la qualité, ministral-8b pour la vitesse
  • Les deux approches (JSON Mode et Custom) sont supportées par les mêmes modèles