Paramètres de base
Configurer vos appels API
Au-delà des champs obligatoires model et messages, l’API Chat Completions accepte plusieurs paramètres qui contrôlent le comportement de la génération. Comprendre ces paramètres fondamentaux vous permettra d’adapter les réponses à chaque cas d’usage.
Vue d’ensemble des paramètres
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| model | string | — | Identifiant du modèle (obligatoire) |
| messages | array | — | Tableau de messages (obligatoire) |
| max_tokens | integer | variable | Nombre maximum de tokens en sortie |
| temperature | float | 0.7 | Contrôle la créativité (0.0 à 1.5) |
| top_p | float | 1.0 | Nucleus sampling (0.0 à 1.0) |
| stream | boolean | false | Active le streaming SSE |
| safe_prompt | boolean | false | Active les guardrails de sécurité |
Le paramètre model
Le choix du modèle détermine les capacités, la vitesse et le coût de chaque appel. 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"
Utilisez le suffixe -latest en développement pour toujours cibler la dernière version. En production, privilégiez les identifiants versionnés (ex: mistral-large-2501) pour garantir la reproductibilité.
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.
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 et finish_reason vaudra "length" au lieu de "stop". Surveillez toujours ce champ pour détecter les troncatures.
Recommandations par cas d’usage
- Classification : 10-50 tokens (réponse courte attendue)
- Résumé : 200-500 tokens
- Rédaction libre : 1000-4000 tokens
- Génération de code : 2000-8000 tokens
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 est déterministe et prévisible :
# 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. Même à temperature=0, de légères variations peuvent apparaître à cause des arrondis en virgule flottante au niveau matériel.
Le paramètre top_p
Le nucleus sampling (Top P) 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 % sont considérés :
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é
)
La recommandation de Mistral : ajustez un seul paramètre à la fois (température OU top_p), pas les deux simultanément. Cela facilite le debugging et la reproductibilité.
Exemple complet avec tous les paramètres
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}")
Points clés à retenir
modeletmessagessont les seuls paramètres obligatoiresmax_tokensest un plafond, pas une cible — vérifiezfinish_reasonpour détecter les troncaturestemperaturebasse pour le factuel, haute pour la créativitétop_paffine la distribution des tokens — ne l’ajustez pas en même temps quetemperature- Utilisez des identifiants de modèle versionnés en production pour la reproductibilité