درس 5 — Construire le prototype

Température et top-p

5 دقائق قراءة

هذا المحتوى غير مترجم بعد. تُعرض النسخة الأصلية.

Température et top-p

Comment un modèle choisit le mot suivant

À chaque étape, le modèle calcule une probabilité pour chaque token possible, puis en tire un au sort selon ces probabilités. C'est ce tirage, appelé échantillonnage (sampling), que règlent les curseurs.

flowchart LR
  C["Contexte : « Une gourde ... »"] --> P["Probabilités : isotherme 60 %, en inox 25 %, magique 2 % ..."]
  P --> K["top-p : on garde les plus probables jusqu'à p cumulé"]
  K --> T["température : on aplatit ou on accentue l'écart"]
  T --> S["Tirage du token suivant"]
ParamètreCe qu'il faitValeur basseValeur haute
températureaplatit (haute) ou accentue (basse) les écarts de probabilitéréponses prudentes et répétablesréponses variées, parfois farfelues
top-pne garde que les tokens les plus probables dont la somme atteint pvocabulaire restreintvocabulaire large
longueur maximale (max output tokens)coupe la réponse au-delà de N tokensréponses tronquées si trop basaucun effet si la réponse est courte

Exemple : avec top-p = 0,9, si « isotherme » (60 %) et « en inox » (25 %) totalisent déjà 85 %, on ajoute le suivant pour dépasser 90 %, et tous les autres sont écartés.

Ce que dit la documentation (important)

Pourquoi ce changement ? Les modèles récents réfléchissent avant de répondre (les tokens de pensée vus en leçon 1) : leur qualité dépend d'un échantillonnage réglé par Google. Le levier de créativité devient alors le prompt : « propose trois variantes très différentes » marche mieux qu'un curseur.

C'est pourquoi le lab n'envoie la température et le top-p que si vous les définissez :

files/fiche_produit.py
def reglages_echantillonnage() -> dict:
    """Température et top-p, seulement si TEMPERATURE / TOP_P sont définies.
    Gemini 3.6+ les ignore ; pour Gemini 3 et 3.5, la doc conseille les valeurs par défaut."""
    noms = {"temperature": "TEMPERATURE", "top_p": "TOP_P"}
    return {cle: float(os.environ[var]) for cle, var in noms.items() if os.environ.get(var)}

Vous voulez des accroches plus originales avec gemini-3.5-flash. Quelle approche suit la documentation ?

Avec un modèle plus ancien qui respecte la température, quelle valeur choisir pour extraire des dates d'un contrat ?

Température 0 ne veut pas dire « toujours la même réponse »

On lit souvent qu'une température de 0 rend le modèle déterministe (même entrée, même sortie). Notre essai montre que ce n'est pas garanti avec un modèle qui réfléchit.

Résultat obtenu

Le 2026-10-15, le prompt « Propose un nom de marque original (un seul mot) pour une gamme de bougies parfumées » envoyé 3 fois à gemini-3.5-flash avec chaque température :

sortie
température 0.0  ->  Luminora | Velume | Lumora
température 1.5  ->  Olfaya   | Lumora | Veluma

Avec 0, on obtient tout de même trois noms différents ; avec 1,5, pas d'explosion de créativité non plus. Conclusion pratique : sur ces modèles, ne comptez ni sur la température pour figer une réponse, ni sur elle pour la rendre originale. Pour la répétabilité, on stocke la réponse validée ; pour l'originalité, on demande plusieurs variantes.

Exercice

Dans AI Studio, avec gemini-3.5-flash et les réglages par défaut, obtenez cinq noms de marque très différents les uns des autres en un seul appel. Écrivez le prompt.

Voir la solution
prompt
Propose 5 noms de marque pour une gamme de bougies parfumées.
Contraintes : un seul mot chacun, 5 à 8 lettres, prononçables en français,
et chaque nom doit évoquer une idée différente (lumière, nature, voyage, douceur, mystère).
Réponds par une liste numérotée, sans commentaire.

Imposer une idée différente par nom force la diversité bien plus sûrement qu'une température élevée : le modèle ne peut pas proposer cinq variations de « Lumora ».

Je sais faire

  • Expliquer l'échantillonnage, la température et le top-p avec mes mots
  • Savoir que Gemini 3.6+ ignore ces paramètres et que Gemini 3 / 3.5 doit garder les défauts
  • Obtenir de la variété par le prompt plutôt que par les curseurs
  • Ne pas compter sur « température 0 » pour obtenir toujours la même réponse
التالي