0Pricing
AI Engineering Academy · Leçon

Contrôler le comportement du modèle avec des paramètres

Expérimentez avec temperature, max_tokens et top_p pour observer leur effet sur le style, la longueur et la créativité de la sortie, puis choisissez les réglages adaptés à votre cas d’usage.

Contrôler le comportement du modèle avec des paramètres est une leçon AI Engineering Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Engineering Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Engineering Academy comprend 4 leçons au total.

Les paramètres essentiels à connaître

Quelques paramètres influencent particulièrement votre sortie : temperature, max_tokens, top_p, frequency_penalty et presence_penalty. Maîtrisez ces cinq paramètres et vous contrôlerez le modèle.

Temperature : contrôler l’aléatoire

Temperature contrôle le caractère aléatoire. Près de 0, le modèle choisit le mot le plus sûr et reste cohérent — ce qui convient parfaitement aux faits. Entre 0,7 et 1,0, ses réponses deviennent plus variées et créatives. Consultez le code.

from openai import OpenAI
client = OpenAI()

for temp in [0.0, 0.7, 1.5]:
    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': 'Name a color.'}],
        temperature=temp,
        max_tokens=5
    )
    print(f'Temp {temp}: {response.choices[0].message.content}')
# Temp 0.0: Red       (always most common)
# Temp 0.7: Blue      (varied but sensible)
# Temp 1.5: Vermillion (surprising choices)

max_tokens : contrôler la longueur de la réponse

max_tokens limite la longueur maximale de la réponse — c’est une limite de sécurité, pas un objectif. Une valeur trop faible coupe les réponses ; une valeur trop élevée fait perdre du temps et de l’argent. Prévoyez une marge et surveillez finish_reason.

# Different max_tokens for different use cases

# Classification: short answer expected
classification_response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Is this positive or negative? "Great product!"'}],
    max_tokens=5  # Only need 1-2 words
)

# Detailed analysis: longer output needed
analysis_response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Analyze the pros and cons of microservices.'}],
    max_tokens=800  # Need space for detailed explanation
)

top_p : l’échantillonnage par noyau

top_p est un autre réglage de l’aléatoire : il effectue l’échantillonnage uniquement parmi les jetons dont les probabilités cumulées atteignent top_p. Conseil : ajustez temperature ou top_p, mais pas les deux en même temps.

# top_p usage example
response_narrow = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
    top_p=0.1,  # only very likely tokens (conservative, predictable)
    temperature=1.0  # keep temperature at 1 when using top_p
)

response_wide = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
    top_p=0.95,  # most tokens eligible (creative, varied)
    temperature=1.0
)

Pénalité de fréquence : réduire les répétitions

frequency_penalty dissuade le modèle de répéter les mêmes mots, en fonction de leur fréquence d’apparition. Utilisez-la lorsque les réponses longues deviennent répétitives — essayez une valeur de 0,3 à 0,7.

# Frequency penalty to reduce repetition in long outputs
response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{
        'role': 'user',
        'content': 'Write 5 tips for better sleep.'
    }],
    max_tokens=300,
    frequency_penalty=0.5  # reduces repeating the same words/phrases
)
print(response.choices[0].message.content)

Pénalité de présence : favoriser la diversité des sujets

presence_penalty pousse le modèle vers de nouveaux sujets : elle pénalise tout mot déjà apparu, même une seule fois. Elle est idéale pour le brainstorming lorsque vous recherchez des idées nouvelles et variées.

# Presence penalty for diverse brainstorming output
response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{
        'role': 'user',
        'content': 'List 10 creative ways to use AI in a small business.'
    }],
    max_tokens=400,
    presence_penalty=0.8  # encourages introducing different topics per item
)
print(response.choices[0].message.content)

Séquences stop : définir des points d’arrêt personnalisés

Le paramètre stop répertorie les chaînes qui interrompent la génération dès qu’elles apparaissent (et elles sont exclues de la réponse). Arrêtez-vous à un saut de ligne pour obtenir une réponse propre sur une seule ligne. Consultez le code.

# Use stop sequences to get clean single-line output
response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{
        'role': 'user',
        'content': 'What is the Python keyword for a function definition?\nAnswer:'
    }],
    max_tokens=20,
    stop=['\n', '.']  # stop at newline or period - gets just the keyword
)
print(repr(response.choices[0].message.content))  # 'def'

seed : produire des sorties reproductibles

Le paramètre seed rend la sortie reproductible : avec la même valeur de seed et temperature à 0, vous obtenez la même réponse. C’est idéal pour les tests — surveillez toutefois system_fingerprint afin de détecter les changements du service dorsal.

# Reproducible output with seed parameter
response1 = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
    temperature=0,
    seed=42
)

response2 = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
    temperature=0,
    seed=42
)

print(response1.choices[0].message.content)  # same
print(response2.choices[0].message.content)  # same
print('Fingerprint:', response1.system_fingerprint)

Choisir les paramètres selon les cas d’usage

Évitez les tâtonnements grâce à des réglages rapides : temperature à 0 pour la classification, 0,2 pour les questions-réponses factuelles et 0,8 à 1,0 pour l’écriture créative. Commencez ainsi, puis adaptez-les à votre tâche. Consultez le code.

# Parameter presets for different task types
PRESETS = {
    'classify': {'temperature': 0, 'max_tokens': 20},
    'factual_qa': {'temperature': 0.2, 'max_tokens': 400},
    'creative': {'temperature': 0.9, 'max_tokens': 1000, 'frequency_penalty': 0.3},
    'code': {'temperature': 0.1, 'max_tokens': 2000},
    'summary': {'temperature': 0.3, 'max_tokens': 300, 'frequency_penalty': 0.2},
}

def complete(prompt, task_type='factual_qa', **overrides):
    params = {**PRESETS[task_type], **overrides}
    return client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': prompt}],
        **params
    )

Logprobs : comprendre la confiance du modèle

logprobs indique le degré de confiance du modèle pour chaque jeton, ainsi que les solutions de remplacement envisagées. Une faible confiance concernant un fait signale un risque d’hallucination — une information utile pour concevoir des systèmes plus sûrs.

import math

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': 'The capital of France is?'}],
    max_tokens=3,
    logprobs=True,
    top_logprobs=3  # show top 3 alternative tokens at each position
)

for token_log in response.choices[0].logprobs.content:
    prob = math.exp(token_log.logprob)  # convert log prob to probability
    print(f'Token: {token_log.token!r} | Probability: {prob:.2%}')
    for alt in token_log.top_logprobs:
        print(f'  Alt: {alt.token!r} -> {math.exp(alt.logprob):.2%}')

Tester systématiquement les effets des paramètres

Ne devinez pas les paramètres : testez-les. Construisez une petite recherche en grille qui exécute la même invite avec différentes combinaisons et attribue une note à chacune. Vous transformerez ainsi le réglage en démarche d’ingénierie plutôt qu’en art. Consultez le code.

from itertools import product

# Systematic parameter grid search
temperatures = [0.0, 0.3, 0.7]
max_tokens_options = [100, 300]
test_prompt = 'Summarize the benefits of unit testing in 2 sentences.'

results = []
for temp, max_tok in product(temperatures, max_tokens_options):
    resp = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role': 'user', 'content': test_prompt}],
        temperature=temp,
        max_tokens=max_tok
    )
    results.append({
        'temperature': temp,
        'max_tokens': max_tok,
        'output': resp.choices[0].message.content,
        'actual_tokens': resp.usage.completion_tokens
    })

Vérification rapide

Vérifiez votre compréhension des concepts d’ingénierie de l’IA présentés dans cette leçon.

Récapitulatif de la leçon

Vous avez appris à orienter le modèle : temperature règle l’aléatoire, max_tokens limite la longueur (surveillez finish_reason !) et les pénalités réduisent les répétitions tout en ajoutant de la variété. Ensuite : la gestion des erreurs.

Questions Fréquemment Posées

La leçon « Contrôler le comportement du modèle avec des paramètres » est-elle gratuite ?

Oui — le texte complet de « Contrôler le comportement du modèle avec des paramètres » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Engineering Academy, passe à CoddyKit PRO. Le cours AI Engineering Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Contrôler le comportement du modèle avec des paramètres » ?

Expérimentez avec temperature, max_tokens et top_p pour observer leur effet sur le style, la longueur et la créativité de la sortie, puis choisissez les réglages adaptés à votre cas d’usage. Tu pratiques AI Engineering Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Engineering Academy ?

Aucune expérience préalable n'est requise. AI Engineering Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Contrôler le comportement du modèle avec des paramètres » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Engineering Academy ?

Oui. Chaque leçon AI Engineering Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Configurer votre environnement Python
  2. Le point d’accès Chat Completions
  3. Contrôler le comportement du modèle avec des paramètres
  4. Gestion des erreurs et limites de débit
← Retour à AI Engineering Academy