Exercices Prompt Engineering Prompt template avec variables
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Prompt template avec variables

En production, tu ne vas jamais ecrire un prompt en dur dans ton code. Tu utilises des templates avec des variables : le nom du produit, la langue cible, le contexte utilisateur... Ca te permet de reutiliser le meme prompt dans des dizaines de situations differentes.

Par exemple, un template de traduction :

template = "Traduis le texte suivant en {langue}. Texte : {texte}"

Ensuite tu remplaces les variables :

prompt = template.format(langue='anglais', texte='Bonjour le monde')
# donne : "Traduis le texte suivant en anglais. Texte : Bonjour le monde"

La méthode .format() de Python est parfaite pour ca. Tu peux aussi utiliser des f-strings, mais .format() est plus pratique quand le template est stocke dans une variable ou un fichier.

Écris une fonction appliquer_template(template, variables) qui prend un template (une chaine avec des {placeholders}) et un dictionnaire de variables, et retourne le prompt final.

Exemple :
appliquer_template('Bonjour {nom}!', {'nom': 'Alice'}) retourne 'Bonjour Alice!'
appliquer_template('{a} + {b}', {'a': '2', 'b': '3'}) retourne '2 + 3'

Tests (1/1)

Tests
assert appliquer_template('Bonjour {nom}!', {'nom': 'Alice'}) == 'Bonjour Alice!', 'Remplacement simple incorrect'
assert appliquer_template('{a} + {b}', {'a': '2', 'b': '3'}) == '2 + 3', 'Remplacement multiple incorrect'
assert appliquer_template('Texte sans variable', {}) == 'Texte sans variable', 'Template sans variable doit rester tel quel'
assert appliquer_template('Traduis en {langue}: {texte}', {'langue': 'anglais', 'texte': 'Bonjour'}) == 'Traduis en anglais: Bonjour', 'Template de traduction incorrect'
assert appliquer_template('{x}{x}{x}', {'x': 'ha'}) == 'hahaha', 'Une variable peut apparaitre plusieurs fois'

Indices (3 disponibles)

solution.py
Non stockée