Aller au contenu principal

La Température

Contrôler la créativité du modèle

La température est le paramètre le plus fondamental pour contrôler le comportement de génération des modèles Mistral. Elle agit directement sur la distribution de probabilités des tokens et détermine si le modèle sera plutôt déterministe (réponses prévisibles) ou créatif (réponses variées).

Comprendre ce paramètre est essentiel pour obtenir des résultats adaptés à chaque cas d’usage.

Comment fonctionne la température

À chaque étape de la génération, le modèle calcule une probabilité pour chaque token possible. La température modifie la forme de cette distribution :

  • Température basse (proche de 0) : la distribution est « pointue ». Le modèle se concentre sur les tokens les plus probables. Les réponses sont prévisibles et cohérentes.

  • Température haute (proche de 1) : la distribution est « aplatie ». Le modèle considère un plus large éventail de tokens. Les réponses sont plus variées et surprenantes.

Température Comportement Cas d'usage
0.0 Quasi-déterministe, toujours le token le plus probable Extraction de données, classification, réponses factuelles
0.1 - 0.3 Très prévisible avec de légères variations Génération de code, traduction, documentation technique
0.4 - 0.6 Équilibre entre cohérence et variété Rédaction professionnelle, reformulation, synthèse
0.7 - 0.8 Créatif avec une bonne cohérence Brainstorming, rédaction marketing, storytelling
0.9 - 1.0 Très créatif, surprenant, parfois incohérent Poésie, fiction, idéation libre, exploration

Utiliser la température avec l’API Mistral

from mistralai import Mistral

client = Mistral(api_key="votre-cle-api")

# Température basse : réponse factuelle et déterministe
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Quelle est la formule du ROI ?"}],
    temperature=0.1
)

# Température haute : réponse créative et variée
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[{"role": "user", "content": "Inventez un slogan pour une marque de café bio."}],
    temperature=0.8
)

La température 0 n’est pas parfaitement déterministe

Un point important à retenir : même avec temperature=0, les réponses de Mistral peuvent présenter de légères variations d’une requête à l’autre. Cela s’explique par des facteurs matériels (calculs en virgule flottante, parallélisation GPU) qui introduisent de minuscules différences dans les arrondis.

Pour les cas où la reproductibilité est critique (tests automatisés, benchmarks), ne comptez pas sur temperature=0 seule. Utilisez plutôt une combinaison de température basse et de vérification côté code.

Adapter la température au contexte

Pour de la classification ou de l’extraction

# Température 0 : on veut toujours la même réponse
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[
        {"role": "system", "content": "Classifiez le sentiment : positif, neutre, négatif."},
        {"role": "user", "content": "Le produit fonctionne correctement."}
    ],
    temperature=0.0
)

Pour de la rédaction marketing

# Température 0.7 : on veut de la variété tout en restant cohérent
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[
        {"role": "system", "content": "Vous êtes un copywriter créatif."},
        {"role": "user", "content": "Écrivez 3 accroches pour une campagne emailing."}
    ],
    temperature=0.7
)

Pour du brainstorming

# Température 0.9 : on veut des idées originales, quitte à filtrer ensuite
response = client.chat.complete(
    model="mistral-large-latest",
    messages=[
        {"role": "user", "content": "Proposez 10 idées de fonctionnalités innovantes pour une app de fitness."}
    ],
    temperature=0.9
)

Expérimenter pour trouver le bon réglage

Il n’existe pas de température universellement optimale. La meilleure approche est l’expérimentation :

  1. Commencez avec la valeur par défaut du modèle
  2. Testez votre prompt avec 3-4 valeurs de température (0.1, 0.4, 0.7, 0.9)
  3. Comparez les résultats sur 5-10 exécutions pour chaque valeur
  4. Identifiez la valeur qui offre le meilleur rapport cohérence/variété pour votre cas
  5. Documentez le réglage choisi avec votre prompt

Points clés à retenir

  • La température contrôle le niveau de créativité vs déterminisme du modèle
  • Valeurs basses (0-0.3) pour les tâches factuelles, hautes (0.7-1.0) pour les tâches créatives
  • Même à température 0, de légères variations sont possibles
  • Expérimentez avec plusieurs valeurs pour trouver le réglage optimal
  • Documentez toujours la température utilisée avec vos prompts en production