0Pricing
AI Prompt Engineering · Leçon

Choisir les paramètres selon votre cas d’usage

Paramètres recommandés pour les questions-réponses factuelles, l’écriture créative, le code et la conversation.

Choisir les paramètres selon votre cas d’usage est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 4 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 Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.

Le cadre de décision des paramètres

Le choix des paramètres d’échantillonnage ne relève pas du hasard : il suit une logique fondée sur les exigences de votre tâche. Deux dimensions essentielles déterminent la configuration appropriée :

  1. Exactitude de la sortie : quelle importance accordez-vous au fait que la sortie soit correcte et prévisible ?
  2. Diversité de la sortie : quelle importance accordez-vous au fait que les sorties varient et permettent l’exploration ?

Exactitude élevée → température basse. Diversité élevée → température élevée. La plupart des tâches se situent entre ces deux extrêmes.

Questions-réponses factuelles : l’exactitude avant tout

Pour répondre à des questions factuelles, il n’existe généralement qu’une seule bonne réponse. Tout élément aléatoire augmente le risque d’obtenir une réponse erronée. Utilisez :

  • temperature = 0 : décodage glouton, entièrement déterministe
  • top_p = 1.0 : laissez ce paramètre sans restriction ; à temperature=0, top-p n’a aucun effet

Ainsi, le modèle sélectionne toujours la réponse dont il est le plus sûr, et qui a donc le plus de chances d’être correcte.

import openai
client = openai.OpenAI(api_key='sk-...')

# Factual Q&A configuration
def factual_qa(question):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
            {'role': 'user', 'content': question}
        ],
        temperature=0,
        top_p=1.0
    )
    return resp.choices[0].message.content

answer = factual_qa('What is the boiling point of water at sea level?')
print(answer)  # Always: '100 degrees Celsius (212 degrees Fahrenheit).'

Génération de code : presque gloutonne

Le code doit être syntaxiquement correct et sémantiquement précis. Le hasard entraîne des erreurs de syntaxe, des noms de variables incorrects ou une logique erronée. Utilisez :

  • temperature = 0–0.2 : presque glouton — autorise une légère variation, mais privilégie fortement les choix de jetons corrects
  • top_p = 0.95 : élimine les jetons situés à l’extrémité improbable de la distribution, qui pourraient provoquer des erreurs de syntaxe
# Code generation configuration
def generate_code(task):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
            {'role': 'user', 'content': task}
        ],
        temperature=0.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

code = generate_code('Write a Python function that merges two sorted lists.')
print(code)

Résumé : paramètres modérés

Le résumé doit être exact (ne déformez pas les faits), tout en bénéficiant d’une légère variation (des exécutions différentes peuvent mettre l’accent sur des aspects différents). Utilisez :

  • temperature = 0.3–0.5 : un léger degré d’aléatoire préserve des tournures naturelles
  • top_p = 1.0 : aucune restriction du noyau n’est nécessaire à faible température
# Summarization configuration
def summarize(text):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
            {'role': 'user', 'content': text}
        ],
        temperature=0.4,
        top_p=1.0
    )
    return resp.choices[0].message.content

summary = summarize(long_article)
print(summary)

Discussion conversationnelle : variation naturelle

Les réponses conversationnelles bénéficient d’une variation naturelle : une même question ne devrait pas toujours produire exactement la même formulation. Un excès d’aléatoire rend les réponses incohérentes. Utilisez :

  • temperature = 0.7–0.9 : conversation naturelle et variée
  • top_p = 0.9–0.95 : élimine les jetons improbables de l’extrémité de la distribution, qui produisent des formulations artificielles
# Chat configuration
def chat_response(user_message, history):
    messages = history + [{'role': 'user', 'content': user_message}]
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
            *messages
        ],
        temperature=0.8,
        top_p=0.9
    )
    reply = resp.choices[0].message.content
    history.append({'role': 'user', 'content': user_message})
    history.append({'role': 'assistant', 'content': reply})
    return reply, history

Écriture créative : diversité élevée

L’écriture créative privilégie l’originalité et l’inattendu. Les températures basses produisent des sorties clichées et prévisibles. Les températures élevées produisent des choix vivants et inattendus, mais une valeur trop élevée entraîne de l’incohérence. Utilisez :

  • temperature = 0.9–1.2 : vocabulaire varié, choix de mots peu évidents
  • top_p = 0.95 : évite les jetons incohérents de l’extrémité de la distribution tout en permettant une exploration étendue
# Creative writing configuration
def write_story_opening(prompt):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
            {'role': 'user', 'content': f'Write a story opening for: {prompt}'}
        ],
        temperature=1.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)

Remue-méninges et idéation

Pour un remue-méninges, l’objectif est de maximiser la diversité des idées, y compris les idées inhabituelles ou inattendues. Utilisez la température pratique la plus élevée :

  • temperature = 1.0–1.5 : exploration étendue de l’espace des idées
  • top_p = 0.95–1.0 : restriction minimale

Exécutez la génération plusieurs fois et rassemblez toutes les sorties, puis filtrez manuellement les meilleures idées. Les invites de remue-méninges bénéficient de demandes explicites de variété : « Donnez-moi 10 approches différentes, y compris des approches inhabituelles. »

# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
    ideas = []
    for _ in range(n_runs):
        resp = client.chat.completions.create(
            model='gpt-4o',
            messages=[
                {'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
                {'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
            ],
            temperature=1.3,
            top_p=0.95
        )
        ideas.append(resp.choices[0].message.content)
    return ideas

all_ideas = brainstorm('reducing customer churn')

Analyse de sensibilité des paramètres

Avant de valider vos paramètres, effectuez des essais de sensibilité des paramètres : gardez l’invite constante, faites varier un seul paramètre à la fois et évaluez la qualité de la sortie pour chaque réglage.

def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
    results = {}
    for temp in temperatures:
        scores = []
        for _ in range(n_samples):
            resp = client.chat.completions.create(
                model='gpt-4o',
                messages=[{'role': 'user', 'content': prompt}],
                temperature=temp
            )
            score = evaluator(resp.choices[0].message.content)
            scores.append(score)
        results[temp] = sum(scores) / len(scores)

    for temp, score in sorted(results.items()):
        print(f'T={temp}: avg score = {score:.2f}')
    best_temp = max(results, key=results.get)
    print(f'Best temperature: {best_temp}')
    return best_temp

Quand conserver les valeurs par défaut

Toutes les applications n’ont pas besoin de paramètres personnalisés. Conservez les valeurs par défaut lorsque :

  • Le cas d’utilisation est une discussion générale — la température par défaut (1,0 pour la plupart des API) est bien réglée
  • Vous êtes en phase de prototypage et ne connaissez pas encore les bons réglages
  • La tâche équilibre exactitude et créativité (par exemple, la rédaction d’e-mails)

Règle générale : personnalisez les paramètres uniquement lorsque le comportement par défaut entraîne un problème de qualité mesurable lors des essais. Régler les paramètres trop tôt ajoute de la complexité sans avantage mesurable.

# Defaults are often correct
default_resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
    # No temperature or top_p specified — API defaults apply
    # OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)

Fiche de référence rapide

Tableau récapitulatif des réglages recommandés selon le cas d’utilisation :

PARAMETER_PRESETS = {
    # task: (temperature, top_p, notes)
    'factual_qa':        (0.0, 1.0, 'greedy, max accuracy'),
    'classification':    (0.0, 1.0, 'deterministic labels'),
    'code_generation':   (0.1, 0.95, 'near-greedy, avoid tail tokens'),
    'data_extraction':   (0.2, 1.0, 'slight variation for robustness'),
    'summarization':     (0.4, 1.0, 'preserve facts, vary phrasing'),
    'translation':       (0.3, 1.0, 'accurate but natural'),
    'chat':              (0.8, 0.9, 'natural conversation'),
    'email_drafting':    (0.7, 0.9, 'professional but varied'),
    'creative_writing':  (1.1, 0.95, 'vivid, original'),
    'brainstorming':     (1.3, 0.95, 'maximum diversity'),
}

for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
    print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')

Pénalités de fréquence et de présence

Deux paramètres supplémentaires complètent la température et top-p :

  • frequency_penalty (0–2) : réduit la probabilité des jetons proportionnellement à la fréquence à laquelle ils sont déjà apparus dans la sortie — évite la répétition des mots
  • presence_penalty (0–2) : réduit la probabilité de tout jeton déjà apparu — favorise la diversité des thèmes

Pour l’écriture créative : ajoutez frequency_penalty=0.5 afin de réduire les choix de mots répétés sans modifier la température.

resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
    temperature=1.0,
    top_p=0.95,
    frequency_penalty=0.5,  # discourage repeating the same words
    presence_penalty=0.3    # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)

Vérification des connaissances

Pour une tâche qui génère du code Python destiné à être exécuté en production, quelle configuration de paramètres est la plus appropriée ?

Récapitulatif : choisir les paramètres d’échantillonnage

Adaptez les paramètres à vos besoins en matière d’exactitude et de diversité :

  • Factuel/code : temp=0–0.2, top_p=0.95 — l’exactitude d’abord
  • Résumé : temp=0.3–0.5 — équilibre
  • Discussion : temp=0.7–0.9, top_p=0.9 — variation naturelle
  • Créatif : temp=0.9–1.2, top_p=0.95 — diversité
  • Remue-méninges : temp=1.3, top_p=0.95 — exploration maximale

Effectuez des essais de sensibilité des paramètres. Conservez les valeurs par défaut lorsqu’aucun problème de qualité n’est observé. Ajoutez frequency_penalty en cas de problèmes de répétition. Le cours 19 est maintenant terminé. Ensuite : mise à l’essai des invites et régression.

Questions Fréquemment Posées

La leçon « Choisir les paramètres selon votre cas d’usage » est-elle gratuite ?

Oui — le texte complet de « Choisir les paramètres selon votre cas d’usage » 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 Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Choisir les paramètres selon votre cas d’usage » ?

Paramètres recommandés pour les questions-réponses factuelles, l’écriture créative, le code et la conversation. Tu pratiques AI Prompt Engineering 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 Prompt Engineering ?

Aucune expérience préalable n'est requise. AI Prompt Engineering 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 4 sur 4.

Combien de temps prend la leçon « Choisir les paramètres selon votre cas d’usage » ?

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 Prompt Engineering ?

Oui. Chaque leçon AI Prompt Engineering 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. Qu’est-ce que la température dans les LLM ?
  2. Échantillonnage par noyau avec top-p
  3. Échantillonnage top-k
  4. Choisir les paramètres selon votre cas d’usage
← Retour à AI Prompt Engineering