IA pour débutantsGuide
Prompt système et température : ce qu'ils font et comment les définir
Ce que font le message système et la température dans une requête compatible OpenAI, avec des exemples Python et curl que vous pouvez envoyer à un modèle CheapTokens.

Sur cette page
Un prompt système est un message dont le rôle est system qui indique au modèle comment se comporter dans chaque réponse : qui il est, quel format utiliser, ce qu'il faut éviter. La température est un nombre, généralement compris entre 0 et 2 (la plage dépend du modèle), qui définit le degré de variation de la formulation : des valeurs basses donnent des réponses ciblées et reproductibles, des valeurs élevées donnent des réponses plus variées. Les deux entrent dans la même requête Chat Completions, que vous envoyez à https:/.
Ci-dessous : ce qu'est chacun, par quelles valeurs commencer, et une requête que vous pouvez exécuter en Python ou avec curl. Si vous n'avez pas encore envoyé de requête, commencez par votre première requête API avec CheapTokens.
Qu'est-ce qu'un prompt système ?#
Une requête de chat est une liste de messages, et chaque message a un rôle. La référence Chat Completions en liste quatre : system, user, assistant et tool (référence de l'API DeepSeek, vérifiée le 22 octobre 2026). Pour une première requête, il vous en faut trois :
system— instructions permanentes de votre part, le développeur. Le modèle les traite comme les règles de la conversation.user— ce que la personne demande ou fournit dans ce tour.assistant— les réponses précédentes du modèle. Vous les ajoutez vous-même lorsque vous poursuivez une conversation.
Un message système nécessite que role soit défini sur system et que content soit une chaîne. Le champ name est facultatif.
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
]Le message système vient en premier. Le message utilisateur est la tâche proprement dite.
Comment rédiger un prompt système utile#
- Dites en une phrase ce que fait le modèle : « Tu es un éditeur », « Tu classes les tickets de support ».
- Indiquez le format de sortie : « Renvoie uniquement le texte réécrit », « Réponds en deux phrases », « Réponds avec un JSON valide ».
- Formulez les règles en phrases courtes et directes. Plusieurs lignes claires fonctionnent mieux qu'un long paragraphe.
- Restez bref. Le prompt système est envoyé à chaque requête et compté comme tokens d'entrée, donc un prompt long est payé à chaque fois. La facturation des entrées et des sorties est détaillée dans tokens d'entrée vs tokens de sortie.
Que fait la température ?#
Un modèle choisit chaque token suivant parmi un ensemble de candidats probables. La température contrôle la rigueur avec laquelle il s'en tient au plus probable. Selon la référence de l'API DeepSeek (vérifiée le 22 octobre 2026), temperature accepte des valeurs de 0 à 2 avec une valeur par défaut de 1 : des valeurs élevées donnent une sortie plus aléatoire, des valeurs basses une sortie plus ciblée et déterministe. Les plages diffèrent selon les modèles : DeepSeek documente 0 à 2, Z.ai documente 0 à 1 pour GLM-5.3 (les deux vérifiés le 22 octobre 2026), donc les valeurs de 0 à 1 sont sûres sur les deux. Vérifiez la plage de votre modèle dans la documentation.
Des points de départ qui fonctionnent pour la plupart des tâches. Ce sont des règles empiriques, pas des garanties :
Faites défiler le tableau vers la droite →
| Tâche | Commencer par |
|---|---|
| Extraction, classification, code, formats stricts | 0 à 0,3 |
| Questions-réponses, résumés, réécriture | 0,3 à 0,7 |
| Brainstorming, noms, texte créatif | 0,8 à 1 |
Trois choses à savoir :
- Une température basse est plus reproductible, pas identique. Ne comptez pas sur des réponses identiques octet pour octet.
- Modifiez la température ou top_p, pas les deux. C'est la recommandation de DeepSeek ;
top_pest un second paramètre d'échantillonnage avec une valeur par défaut de 1. Laissez-le tranquille pendant votre apprentissage. - Certains modes ignorent la température. La référence DeepSeek indique que la température n'a aucun effet en mode réflexion, et que
top_pest fixé à 1.0 en mode non-réflexion. Si vous changez une valeur sans voir de différence, vérifiez d'abord le mode du modèle.
Envoyer une requête avec les deux#
Définissez la clé comme variable d'environnement, pour qu'elle ne finisse jamais dans le code (voir qu'est-ce qu'une clé API et comment la stocker en sécurité). Prenez l'identifiant de modèle exact dans la documentation CheapTokens : différents fournisseurs nomment le même modèle différemment. Cet exemple utilise MiniMax-M2.7.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."},
],
temperature=0.3,
max_tokens=1000,
)
print(response.choices[0].message.content)
print(response.choices[0].finish_reason)La même requête avec curl :
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user'\''s text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
],
"temperature": 0.3,
"max_tokens": 1000
}'Ce que vous devriez voir : une version courte et plus conviviale de la phrase et stop comme finish_reason. Si le finish_reason est length, la réponse a atteint la limite max_tokens ; voir pourquoi une réponse IA s'arrête en milieu de phrase.
Voir la température à l'œuvre#
La meilleure façon de comprendre la température est de poser la même question plusieurs fois. Cette boucle envoie une courte requête trois fois à 0 et trois fois à 1, en utilisant le client de l'exemple ci-dessus :
for temp in (0, 1):
print("temperature", temp)
for _ in range(3):
r = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "Answer with one word."},
{"role": "user", "content": "Name a fruit."},
],
temperature=temp,
max_tokens=500,
)
print(" ", r.choices[0].message.content)À 0, les trois lignes sont généralement le même mot ; à 1, vous verrez généralement plus de mots différents. Les modèles qui raisonnent avant de répondre peuvent consacrer une partie de max_tokens à ce raisonnement, alors gardez la limite généreuse même pour une réponse d'un mot. Ensuite, modifiez uniquement le prompt système (par exemple, « Réponds avec un seul mot, en français ») et relancez : les règles du message système s'appliquent à toutes les températures.
Ces expériences sont petites. Pour donner un ordre d'idée, voici le coût de 100 requêtes d'environ 120 tokens d'entrée et 80 tokens de sortie chacune (une charge de travail d'exemple ; les nombres de tokens dépendent de vos prompts) :
| Modèle | Entrée $/1M | Sortie $/1M | Par requête | 100 requêtes | OpenRouter, 100 requêtes |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0000056 | $0.00056 | $0.0011 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0000098 | $0.00098 | $0.0018 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000018 | $0.0018 | $0.0132 |
120 tokens d'entrée et 80 tokens de sortie par requête. Les prix par million de tokens sont actuels et évoluent avec nos tarifs ; la colonne OpenRouter indique des prix de référence pour la même charge de travail.
Sur quel modèle l'essayer#
- MiniMax-M2.7 est un bon premier choix pour de nombreuses requêtes de test courtes, et vous pouvez réutiliser le même prompt système dessus pour comparer les réponses : contexte de 180K, jusqu'à 8 192 tokens de sortie, moins cher que le prix de référence d'OpenRouter des deux côtés. Prix actuel : entrée $0.05, sortie $0.15 par 1M de tokens.
Un seul solde couvre tous les modèles, donc changer de modèle se fait en modifiant model sur une ligne. Tous les prix actuels sont sur la page de tarification.
Si cela ne fonctionne pas#
- 401 ou une erreur d'authentification : la clé est absente, mal saisie ou la variable d'environnement n'est pas définie dans ce terminal. Vérifiez
echo $CHEAPTOKENS_.API_ KEY - Modèle introuvable : copiez l'identifiant de modèle depuis la documentation exactement, préfixe compris.
- Une erreur concernant un paramètre invalide : gardez
temperaturedans la plage prise en charge par votre modèle (0 à 1 est sûr) et passez des nombres, pas des chaînes. - Le modèle ignore votre règle : faites-en une phrase courte et directe, placez-la en haut du message système et répétez le format exact souhaité.
- Changer la température ne change rien : vous utilisez peut-être un mode qui l'ignore (voir ci-dessus), ou la réponse est tellement contrainte (« un mot », « JSON valide ») qu'il existe peu de variations.
- La réponse est tronquée : augmentez
max_tokens; le guide max_tokens explique comment.
Étape suivante#
Placez une règle claire dans le message système, choisissez une température dans le tableau et exécutez la boucle ci-dessus sur votre propre tâche. Quand le résultat vous convient, gardez le prompt système court et réutilisez-le. Obtenez une clé et consultez les prix actuels dans la documentation.



