Température, top_p et paramètres de génération
Température, top_p et paramètres de génération
Quand vous envoyez un prompt à un modèle de langage, le texte généré n’est pas déterministe par défaut. Les paramètres de génération vous permettent de contrôler le degré de créativité ou de rigueur des réponses. Maîtriser ces réglages est essentiel pour obtenir des résultats adaptés à chaque cas d’usage.
Comment le modèle choisit le prochain token
À chaque étape de la génération, le modèle calcule une distribution de probabilité sur l’ensemble de son vocabulaire. Le token suivant est échantillonné dans cette distribution. Les paramètres de génération modifient cette distribution avant l’échantillonnage.
from openai import OpenAI
client = OpenAI()
# Réponse créative (haute température)
response_creative = client.responses.create(
model="gpt-5.3",
instructions="Tu es un rédacteur créatif.",
input="Propose un slogan pour une boulangerie artisanale.",
temperature=1.2
)
# Réponse factuelle (basse température)
response_factual = client.responses.create(
model="gpt-5.3",
instructions="Tu es un assistant technique précis.",
input="Quelle est la syntaxe d'une list comprehension en Python ?",
temperature=0.1
)
Température
La température est un facteur multiplicatif appliqué aux logits avant le softmax. Concrètement :
- temperature = 0 : le modèle choisit toujours le token le plus probable (quasi déterministe)
- temperature = 0.1-0.3 : réponses très cohérentes, idéal pour le code et les faits
- temperature = 0.7-0.9 : bon équilibre créativité/cohérence, adapté à la rédaction
- temperature = 1.0-1.5 : réponses variées et surprenantes, utile pour le brainstorming
| Cas d'usage | Température | top_p |
|---|---|---|
| Génération de code | 0.0 – 0.2 | 1.0 |
| Extraction de données | 0.0 | 1.0 |
| Rédaction professionnelle | 0.5 – 0.7 | 0.9 |
| Brainstorming | 1.0 – 1.3 | 0.95 |
| Écriture créative | 1.0 – 1.5 | 0.9 |
Top_p (nucleus sampling)
Le paramètre top_p filtre les tokens par probabilité cumulée. Avec top_p=0.9, le modèle ne considère que les tokens dont la probabilité cumulée atteint 90 %, éliminant les choix improbables.
response = client.responses.create(
model="gpt-5.3",
instructions="Génère un résumé technique.",
input="Résume le fonctionnement de TLS 1.3.",
temperature=0.3,
top_p=0.95
)
Règle pratique : ne modifiez pas température ET top_p en même temps. Ajustez l’un et laissez l’autre à sa valeur par défaut. OpenAI recommande de modifier la température en priorité.
Autres paramètres importants
max_output_tokens
Limite la longueur de la réponse en tokens. Utile pour contrôler les coûts et éviter les réponses trop longues.
response = client.responses.create(
model="gpt-5.3",
instructions="Réponds en une phrase.",
input="Qu'est-ce que le DNS ?",
max_output_tokens=100
)
reasoning_effort (modèles de raisonnement)
Pour les modèles comme o3-pro et o4-mini, le paramètre reasoning_effort contrôle le temps de réflexion :
response = client.responses.create(
model="o4-mini",
input="Résous cette équation différentielle : y' + 2y = e^(-x)",
reasoning={
"effort": "high" # "low", "medium", "high"
}
)
- low : réponses rapides pour les questions simples
- medium : bon compromis pour la plupart des tâches
- high : raisonnement approfondi pour les problèmes complexes
Mise en pratique
Écrivez un script Python qui envoie le même prompt à GPT-5.3 avec cinq valeurs de température différentes (0, 0.3, 0.7, 1.0, 1.3) et comparez les résultats. Utilisez un prompt de type créatif (« Invente un nom pour une startup d’IA ») pour observer la variation.
Points clés à retenir
- La température contrôle la dispersion de la distribution de probabilité
top_pfiltre les tokens par probabilité cumulée- Ne modifiez jamais les deux simultanément
- Température basse pour le factuel, haute pour le créatif
reasoning_effortest spécifique aux modèles de raisonnement (o3-pro, o4-mini)