Aller au contenu principal

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

  • 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é