Aller au contenu principal

Parametres du modele

Objectifs

  • Comprendre le role de max_tokens
  • Utiliser temperature pour controler les reponses
  • Maitriser stop_sequences et le prompt systeme

Les trois parametres obligatoires

Chaque requete a Claude necessite :

  • model : le nom du modele
  • max_tokens : le nombre maximal de tokens a generer
  • messages : la liste des messages

Les tokens

Les LLM ne raisonnent pas en mots entiers mais en tokens — des fragments de mots. Pour Claude, un token represente environ 3,5 caracteres en anglais (variable selon la langue).

Quand vous envoyez un prompt, il est d’abord converti en tokens, puis le modele genere sa reponse un token a la fois.

max_tokens

Ce parametre fixe un plafond sur le nombre de tokens que Claude peut generer. Quelques points importants :

  • Avec max_tokens=10, la reponse sera tronquee apres 10 tokens (le stop_reason sera "max_tokens")
  • Avec une valeur elevee, Claude genere jusqu’a ce qu’il ait fini (le stop_reason sera "end_turn")
  • Augmenter max_tokens ne force pas Claude a generer plus — cela lui donne simplement la possibilite de le faire
  • Plus Claude genere de tokens, plus la requete prend de temps

Pourquoi ajuster max_tokens ?

  • Limites API : les tokens entrants et sortants comptent dans vos quotas
  • Performance : plus de tokens = plus de temps de calcul
  • Qualite : une valeur trop basse produit des reponses tronquees

stop_sequences

Les stop_sequences permettent de definir des chaines de caracteres qui, une fois generees, arretent immediatement la generation.

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=500,
    stop_sequences=["}"],
    messages=[
        {"role": "user", "content": "Genere un objet JSON representant une personne"}
    ]
)

Points a retenir :

  • La sequence d’arret n’est pas incluse dans la sortie
  • Le stop_reason sera "stop_sequence"
  • Vous pouvez fournir plusieurs sequences d’arret

temperature

La temperature controle la “creativite” des reponses, entre 0 et 1 :

  • Proche de 0 : reponses deterministes, previsibles
  • Proche de 1 : reponses variees, plus creatives
# Analytique : temperature basse
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=100,
    temperature=0,
    messages=[{"role": "user", "content": "Nomme un animal"}]
)

# Creatif : temperature haute
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=100,
    temperature=1,
    messages=[{"role": "user", "content": "Invente un nom de planete alien"}]
)

Avec temperature=0, Claude repond presque toujours la meme chose. Avec temperature=1, chaque reponse est differente.

Regle pratique : temperature proche de 0 pour les taches analytiques, proche de 1 pour les taches creatives.

Le prompt systeme

Le system est un parametre optionnel qui donne a Claude des instructions de haut niveau, un role ou un contexte global :

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=500,
    system="Tu es un expert en astronomie. Reponds toujours de maniere concise.",
    messages=[
        {"role": "user", "content": "Qu'est-ce qu'un trou noir ?"}
    ]
)

Points cles :

  • Il est applique a toute la conversation
  • Mettez-y le ton, le contexte et le role
  • Les instructions detaillees, exemples et documents doivent aller dans le premier message user

Exercice

Ecrivez une fonction generate_questions(topic, num_questions) qui :

  • Genere num_questions questions stimulantes sur le topic donne
  • Utilise system pour definir un role d’expert
  • Utilise max_tokens pour limiter la reponse
  • Utilise stop_sequences pour arreter apres le bon nombre de questions (si vous demandez 3 questions, arretez a “4.”)