Aller au contenu principal

Paramètres de base

Mis à jour le 29 juillet 2026

Configurer vos appels API

Au-delà des champs obligatoires model et messages, l’API Chat Completions accepte une poignée de paramètres qui contrôlent le comportement de la génération. Ce sont eux qui séparent un extracteur de données qui renvoie deux fois le même résultat sur la même facture d’un générateur de slogans qui ne se répète jamais. Le code d’appel, lui, ne bouge pas d’une ligne à l’autre : seuls les réglages changent d’un cas d’usage au suivant, et c’est précisément pour cela qu’il faut savoir ce que chacun fait.

Voici la liste de ceux que vous manipulerez au quotidien, avec leur type et leur valeur par défaut.

ParamètreTypeDéfautDescription
modelstringIdentifiant du modèle (obligatoire)
messagesarrayTableau de messages (obligatoire)
max_tokensintegervariableNombre maximum de tokens en sortie
temperaturefloat0.7Contrôle la créativité (0.0 à 1.5)
top_pfloat1.0Nucleus sampling (0.0 à 1.0)
streambooleanfalseActive le streaming SSE
safe_promptbooleanfalseActive les guardrails de sécurité

Le paramètre model

Le choix du modèle détermine d’un coup les capacités, la vitesse et le coût de chaque appel — trois arbitrages que vous ne pourrez pas rattraper ailleurs. En avril 2026, les modèles principaux sont :

# Modèle phare — raisonnement complexe, multilingue
model = "mistral-large-latest"

# Modèle compact — rapide, économique, idéal en production
model = "mistral-small-latest"

# Modèle miniature — ultra-rapide, edge computing
model = "ministral-3b-latest"

# Modèle de code — spécialisé programmation
model = "codestral-latest"

Le suffixe -latest est confortable en développement : il vous fait toujours pointer vers la dernière version sans rien changer à votre code. En production, cette commodité devient un risque, car une mise à jour côté Mistral peut déplacer discrètement le comportement de votre application. Privilégiez donc les identifiants versionnés, du type mistral-large-2512, pour garantir la reproductibilité de ce que vous avez testé.

Le paramètre max_tokens

Ce paramètre fixe la limite haute du nombre de tokens que le modèle peut générer en réponse. Il ne force pas le modèle à produire exactement ce nombre : il définit un plafond, rien de plus.

response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Résumez ce texte en une phrase."}],
    max_tokens=100  # La réponse ne dépassera pas 100 tokens
)

Si le modèle atteint cette limite, la réponse est coupée net et finish_reason vaut "length" au lieu de "stop". C’est l’origine la plus fréquente des réponses qui s’arrêtent au milieu d’une phrase, et personne ne s’en rend compte tant que ce champ n’est pas surveillé. Le bon réflexe consiste à calibrer le plafond sur la tâche : une classification tient dans 10 à 50 tokens puisqu’on n’attend qu’une étiquette, un résumé demande 200 à 500 tokens, une rédaction libre 1 000 à 4 000, et la génération de code monte facilement à 2 000 ou 8 000 tokens parce qu’un fichier complet est long.

Le paramètre temperature

La température contrôle le degré de randomisation dans le choix des tokens. Plus elle est basse, plus le modèle devient déterministe et prévisible ; plus elle monte, plus il ose des continuations improbables. Sur une question factuelle, vous voulez la première attitude ; sur un exercice de dénomination, la seconde.

# Température basse — extraction, classification, factuel
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Quel est le capital de la France ?"}],
    temperature=0.1
)

# Température haute — créativité, brainstorming
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Inventez un nom pour une startup d'IA."}],
    temperature=1.2
)

La plage va de 0.0 à 1.5. Ne comptez pas sur temperature=0 pour obtenir un déterminisme parfait : de légères variations subsistent, dues aux arrondis en virgule flottante au niveau matériel.

Le paramètre top_p

Le nucleus sampling, ou Top P, agit sur le même levier mais par un autre chemin : il limite les tokens candidats par seuil de probabilité cumulative. Avec top_p=0.5, seuls les tokens les plus probables dont la somme des probabilités atteint 50 % restent en lice, les autres sont écartés d’office.

response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Complétez : Le chat est sur le..."}],
    temperature=0.7,
    top_p=0.9  # Considère les tokens couvrant 90% de la probabilité
)

Mistral recommande d’ajuster un seul paramètre à la fois, la température ou le top_p, jamais les deux ensemble. La raison est pratique : quand une sortie devient étrange après avoir bougé les deux curseurs, plus rien ne vous dit lequel en est la cause, et vous perdez à la fois le débogage et la reproductibilité.

Exemple complet avec tous les paramètres

Réunis dans un appel unique, ces réglages donnent un générateur de slogans volontairement bref et légèrement audacieux, dont vous relevez au passage la consommation de tokens :

from mistralai import Mistral
import os

client = Mistral(api_key=os.getenv("MISTRAL_API_KEY"))

response = client.chat.complete(
    model="mistral-large-latest",
    messages=[
        {
            "role": "system",
            "content": "Vous êtes un rédacteur marketing concis et percutant."
        },
        {
            "role": "user",
            "content": "Rédigez un slogan pour une application de méditation."
        }
    ],
    max_tokens=50,
    temperature=0.9,
    top_p=1.0
)

print(response.choices[0].message.content)
print(f"Tokens utilisés : {response.usage.total_tokens}")

Relancez ce script trois fois de suite, puis remplacez temperature=0.9 par 0.1 et relancez-le trois fois encore : la différence entre les deux séries vous en apprendra plus sur ce paramètre que n’importe quelle définition.

Points clés à retenir

  • model et messages sont les seuls paramètres obligatoires
  • max_tokens est un plafond, pas une cible — vérifiez finish_reason pour détecter les troncatures
  • temperature basse pour le factuel, haute pour la créativité
  • top_p affine la distribution des tokens — ne l’ajustez pas en même temps que temperature
  • Utilisez des identifiants de modèle versionnés en production pour la reproductibilité