Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Prompt templates in Prompt Engineering / GenAI - ML Experiment: Train & Evaluate

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Experiment - Prompt templates
Problem:You want to create prompt templates that help generate consistent and relevant responses from a language model. Currently, your prompts are too vague, causing the model to give off-topic or inconsistent answers.
Current Metrics:Response relevance: 60%, Consistency: 55%
Issue:The prompts lack structure and clear instructions, leading to low relevance and inconsistent outputs.
Your Task
Improve prompt templates to increase response relevance to at least 85% and consistency to at least 80%.
You can only modify the prompt templates, not the model itself.
Keep prompts simple and easy to understand.
Hint 1
Hint 2
Hint 3
Solution
Prompt Engineering / GenAI
def generate_prompt(template: str, variables: dict) -> str:
    """Fill in the placeholders in the prompt template with variables."""
    return template.format(**variables)

# Example prompt template with placeholders and clear instructions
prompt_template = (
    "You are a helpful assistant. Answer the question clearly and briefly. "
    "Question: {question}\n"
    "Answer:"
)

# Example usage
variables = {"question": "What is machine learning?"}
prompt = generate_prompt(prompt_template, variables)
print(prompt)

# Output to send to the language model:
# You are a helpful assistant. Answer the question clearly and briefly. Question: What is machine learning?
# Answer:
Added clear instructions to the prompt to guide the model's response style.
Used placeholders like {question} to make the prompt reusable for different inputs.
Kept the prompt short and focused to reduce confusion.
Results Interpretation

Before: Relevance 60%, Consistency 55%
After: Relevance 88%, Consistency 82%

Clear, structured prompt templates with instructions and placeholders help language models produce more relevant and consistent answers.
Bonus Experiment
Try adding examples of good answers in the prompt template to further improve response quality.
💡 Hint
Include a short example question and answer before the actual question to show the model what you expect.

Practice

(1/5)
1. What is the main purpose of using prompt templates in AI interactions?
easy
A. To train new AI models from scratch
B. To reuse question formats and save time
C. To store large datasets efficiently
D. To improve hardware performance

Solution

  1. Step 1: Understand the role of prompt templates

    Prompt templates are designed to create reusable question formats for AI, making interactions faster and more consistent.
  2. Step 2: Compare options with the purpose

    Only To reuse question formats and save time correctly describes this purpose; others relate to unrelated AI tasks.
  3. Final Answer:

    To reuse question formats and save time -> Option B
  4. Quick Check:

    Prompt templates = reuse formats [OK]
Hint: Templates reuse question formats to save time [OK]
Common Mistakes:
  • Confusing prompt templates with model training
  • Thinking templates store data
  • Assuming templates improve hardware
2. Which of the following is the correct way to create a prompt template in Python using curly braces?
easy
A. template = "What is the capital of {}?".format('France')
B. template = "What is the capital of []?".format('France')
C. template = "What is the capital of {}?".replace('France')
D. template = "What is the capital of ()?".format('France')

Solution

  1. Step 1: Identify correct placeholder syntax

    Curly braces {} are used as placeholders in Python strings for the format() method.
  2. Step 2: Check method usage

    Only template = "What is the capital of {}?".format('France') uses curly braces with format() correctly; others use wrong brackets or methods.
  3. Final Answer:

    template = "What is the capital of {}?".format('France') -> Option A
  4. Quick Check:

    Curly braces + format() = correct syntax [OK]
Hint: Use curly braces {} with format() for templates [OK]
Common Mistakes:
  • Using square or round brackets instead of curly braces
  • Using replace() instead of format()
  • Forgetting to call format()
3. What will be the output of the following code?
template = "Hello, {}! Today is {}."
filled = template.format('Alice', 'Monday')
print(filled)
medium
A. Hello, Alice! Today is {}.
B. Hello, {}! Today is {}.
C. Error: format() missing arguments
D. Hello, Alice! Today is Monday.

Solution

  1. Step 1: Understand the template string

    The string has two placeholders {} to be replaced by format() arguments.
  2. Step 2: Apply format() with two arguments

    Arguments 'Alice' and 'Monday' replace the placeholders in order.
  3. Final Answer:

    Hello, Alice! Today is Monday. -> Option D
  4. Quick Check:

    format() fills placeholders in order [OK]
Hint: format() fills {} placeholders in order [OK]
Common Mistakes:
  • Printing template without calling format()
  • Using fewer arguments than placeholders
  • Confusing placeholder order
4. Identify the error in this prompt template code:
template = "What is your favorite color, {name}?"
filled = template.format()
print(filled)
medium
A. print() function is missing parentheses
B. Incorrect placeholder syntax, should use []
C. Missing argument for placeholder 'name' in format()
D. format() cannot be used with strings

Solution

  1. Step 1: Check placeholder usage

    The template has a named placeholder {name} that requires a matching argument in format().
  2. Step 2: Analyze format() call

    format() is called without any arguments, so the placeholder cannot be replaced, causing an error.
  3. Final Answer:

    Missing argument for placeholder 'name' in format() -> Option C
  4. Quick Check:

    Named placeholders need matching format() arguments [OK]
Hint: Named placeholders require matching format() arguments [OK]
Common Mistakes:
  • Using wrong brackets for placeholders
  • Thinking format() can't be used with strings
  • Forgetting to pass arguments to format()
5. You want to create a prompt template that asks for a user's name and age, but only include the age part if the age is provided (not None). Which template and code snippet correctly achieves this?
hard
A. template = "Hello, {name}!{age_part}" age_part = f" You are {age} years old." if age is not None else "" filled = template.format(name=name, age_part=age_part)
B. template = "Hello, {name}! You are {age} years old." filled = template.format(name=name, age=age if age else '')
C. template = "Hello, {name}! You are {age} years old." filled = template.format(name=name)
D. template = "Hello, {name}!{age_part}" age_part = " You are {age} years old." if age else "" filled = template.format(name=name, age_part=age_part)

Solution

  1. Step 1: Understand conditional inclusion

    We want to add the age part only if age is not None, so we prepare age_part accordingly.
  2. Step 2: Check template and format usage

    template = "Hello, {name}!{age_part}" age_part = f" You are {age} years old." if age is not None else "" filled = template.format(name=name, age_part=age_part) correctly creates age_part with age value if not None, else empty string, then formats template with both parts.
  3. Final Answer:

    template = "Hello, {name}!{age_part}" age_part = f" You are {age} years old." if age is not None else "" filled = template.format(name=name, age_part=age_part) -> Option A
  4. Quick Check:

    Use conditional string parts with format() [OK]
Hint: Use conditional strings for optional template parts [OK]
Common Mistakes:
  • Passing None directly causing 'None' string output
  • Not defining age_part before format()
  • Forgetting to handle missing age gracefully