Temperature
La temperature est un parametre qui controle le degre d’aleatoire dans les reponses de Claude. Comprendre son fonctionnement vous permettra d’adapter les reponses a votre cas d’usage.
Comment Claude genere du texte
Pour comprendre la temperature, il faut d’abord comprendre comment Claude produit une reponse :
- Tokenisation : votre texte est decoupe en tokens
- Prediction : pour chaque nouveau token, Claude calcule une probabilite pour chaque token possible du vocabulaire
- Echantillonnage : un token est choisi parmi les candidats — et c’est la que la temperature intervient
Qu’est-ce que la temperature ?
La temperature controle la distribution des probabilites lors de l’echantillonnage :
- Temperature 0 : Claude choisit toujours le token le plus probable. Resultat deterministe (ou presque), reponses identiques pour la meme question.
- Temperature 1 : Claude echantillonne selon les probabilites calculees. Plus de diversite et de creativite, mais aussi plus d’imprevisibilite.
Les valeurs intermediaires offrent un gradient entre ces deux extremes.
Utiliser la temperature dans l’API
# Temperature basse — reponses factuelles et stables
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
temperature=0,
messages=[
{"role": "user", "content": "Quelle est la formule de l'eau ?"}
]
)
# Temperature haute — reponses creatives et variees
message = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
temperature=1,
messages=[
{"role": "user", "content": "Ecris un poeme sur la pluie."}
]
)
Quelle temperature pour quel usage ?
| Temperature | Usage | Exemples |
|---|---|---|
| 0 | Faits, precision, reproductibilite | Extraction de donnees, classification, reponses factuelles, generation de code |
| 0.3 - 0.5 | Equilibre precision/naturel | Resumes, reformulation, contenu pedagogique, assistance technique |
| 0.7 - 1.0 | Creativite, diversite | Brainstorming, ecriture creative, generation d’idees, dialogues fictifs |
Integrer la temperature dans la fonction chat
def chat(conversation, user_message, system_prompt=None, temperature=1, model="claude-sonnet-4-20250514", max_tokens=1024):
"""Envoie un message avec temperature configurable."""
conversation.append({"role": "user", "content": user_message})
kwargs = {
"model": model,
"max_tokens": max_tokens,
"temperature": temperature,
"messages": conversation
}
if system_prompt:
kwargs["system"] = system_prompt
response = client.messages.create(**kwargs)
assistant_text = response.content[0].text
conversation.append({"role": "assistant", "content": assistant_text})
return assistant_text
Experimenter : meme question, temperatures differentes
question = "Donne-moi 3 idees de noms pour une startup d'IA."
for temp in [0, 0.5, 1.0]:
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=256,
temperature=temp,
messages=[{"role": "user", "content": question}]
)
print(f"\n--- Temperature {temp} ---")
print(response.content[0].text)
Executez ce code plusieurs fois. Avec temperature=0, les reponses seront quasi identiques. Avec temperature=1, elles varieront a chaque execution.
Points a retenir
- La temperature controle l’aleatoire dans la generation de tokens
- 0 = deterministe et previsible, 1 = creatif et variable
- Adaptez la temperature a votre cas d’usage : basse pour la precision, haute pour la creativite
- La valeur par defaut est 1 — pensez a la baisser pour les taches factuelles
C’est un parametre simple mais qui a un impact direct sur la qualite de vos resultats. Prenez l’habitude de le regler consciemment.