Ingénierie des prompts pour les applications LLM en production
Conception du prompt système, exemples en few-shot, formatage de la sortie, logique de nouvelle tentative, optimisation des coûts.
Ingénierie des prompts pour les applications LLM en production est une leçon Learn AI with Python 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 Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Formuler des invites en production
Dans les applications réelles, les invites sont du code : elles doivent être structurées, testées et fiables. Une bonne ingénierie des invites réduit les hallucinations, impose le format de sortie et contrôle les coûts. Cette leçon présente les techniques importantes en production.
Concevoir l’instruction système
L’instruction système définit le rôle, le ton, les contraintes et les règles du modèle. Soyez précis : indiquez ce qu’est l’assistant, ce qu’il doit faire et ne doit pas faire, ainsi que le format de ses réponses. Une instruction système claire est votre meilleur outil de pilotage.
system = (
"You are a support agent for an e-commerce store. "
"Answer only questions about orders and shipping. "
"If asked anything else, politely decline. "
"Keep replies under 3 sentences."
)Apprentissage à partir de quelques exemples
La formulation à partir de quelques exemples consiste à montrer au modèle des paires d’entrées et de sorties afin qu’il apprenne le schéma. Vous les placez sous forme de messages alternés de l’utilisateur et de l’assistant avant la demande réelle.
messages = [
{"role": "system", "content": system},
{"role": "user", "content": "Classify: I love this!"},
{"role": "assistant", "content": "positive"},
{"role": "user", "content": "Classify: This broke instantly."},
{"role": "assistant", "content": "negative"},
{"role": "user", "content": "Classify: It is okay I guess."}
]Pourquoi l’apprentissage à partir de quelques exemples fonctionne
Les exemples clarifient mieux votre intention que les instructions seules. Ils fixent précisément le style de sortie (un mot, du JSON, une étiquette) et améliorent considérablement la cohérence des tâches de classification, d’extraction et de mise en forme.
Imposer une sortie JSON
Pour obtenir des réponses lisibles par une machine, demandez le mode JSON avec response_format. Avec {"type": "json_object"}, le modèle est contraint de produire du JSON valide, que vous pouvez ensuite analyser en toute sécurité.
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)Compter les jetons avec tiktoken
Les coûts et les limites de contexte sont mesurés en jetons. La bibliothèque tiktoken compte les jetons localement afin que vous puissiez établir votre budget avant l’envoi. Installez-la avec pip install tiktoken.
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("Hello, how are you?")
print(len(tokens))Pourquoi le comptage des jetons est important
Chaque modèle possède une fenêtre de contexte (un nombre maximal de jetons) et la facturation se fait au jeton. Compter à l’avance vous permet de raccourcir l’historique, de refuser les entrées trop volumineuses et de prévoir le coût avant même que l’appel ne quitte votre serveur.
def cost_estimate(text, price_per_1k=0.005):
enc = tiktoken.encoding_for_model("gpt-4o")
n = len(enc.encode(text))
return n, n / 1000 * price_per_1kGérer les limites de débit
Le trafic en production atteint les limites de débit (HTTP 429) et rencontre des erreurs temporaires. Au lieu de provoquer un arrêt, utilisez retry avec une temporisation exponentielle. La bibliothèque tenacity permet de faire cela avec un décorateur d’une seule ligne.
pip install tenacity
from tenacity import retry, wait_exponential, stop_after_attemptUtiliser retry avec tenacity
Décorez votre appel d’API avec @retry. Utilisez wait_exponential pour augmenter le délai entre les tentatives et stop_after_attempt pour plafonner le nombre total d’essais. Cette méthode vous permet de gérer élégamment les interruptions temporaires.
@retry(wait=wait_exponential(min=1, max=30), stop=stop_after_attempt(5))
def ask(prompt):
return client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}]
)Définir un schéma JSON pour la sortie
Lorsque vous imposez le mode JSON, décrivez toujours dans l’invite la structure exacte souhaitée afin que les clés soient prévisibles. Détailler le schéma en langage courant et utiliser le mode JSON vous fournit à chaque fois des résultats analysables et validables.
system = (
"Return ONLY JSON with this shape: "
"{\"sentiment\": \"positive|negative|neutral\", "
"\"confidence\": number between 0 and 1}"
)Mettre tout en pratique
Une chaîne de traitement d’invites pour la production consiste à concevoir une instruction système stricte, à ajouter des exemples à partir de quelques exemples, à imposer une sortie JSON lorsque cela est nécessaire, à compter les jetons pour gérer les coûts et le contexte, puis à entourer les appels d’une logique retry. Ensemble, ces éléments rendent les fonctionnalités des LLM fiables.
Vérification rapide
Vérifiez vos connaissances sur la formulation d’invites en production.
Récapitulatif : Conception d’invites pour la production
Vous avez appris à concevoir des instructions système strictes, à orienter le comportement à l’aide d’exemples de démonstration et à garantir des réponses structurées grâce au mode JSON de response_format. Vous avez compté les jetons avec tiktoken pour gérer le contexte et les coûts, puis renforcé la résilience grâce aux nouvelles tentatives de tenacity en cas de limites de débit.
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 53
- Leçons
- 225
Questions Fréquemment Posées
La leçon « Ingénierie des prompts pour les applications LLM en production » est-elle gratuite ?
Oui — le texte complet de « Ingénierie des prompts pour les applications LLM en production » 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 Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Ingénierie des prompts pour les applications LLM en production » ?
Conception du prompt système, exemples en few-shot, formatage de la sortie, logique de nouvelle tentative, optimisation des coûts. Tu pratiques Learn AI with Python 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 Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python 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 « Ingénierie des prompts pour les applications LLM en production » ?
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 Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python 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
- API OpenAI : chat.completions et diffusion en continu
- API Anthropic Claude en Python
- Appels de fonctions et utilisation d’outils avec les LLM
- Ingénierie des prompts pour les applications LLM en production