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
Recall & Review
beginner
What is a PromptTemplate in Langchain?
A PromptTemplate is a way to create text prompts with placeholders that you can fill with different values. It helps you build dynamic prompts easily.
Click to reveal answer
beginner
How do you define placeholders in a PromptTemplate?
Placeholders are defined using curly braces like {placeholder_name} inside the template string. These get replaced with actual values when you run the prompt.
Click to reveal answer
beginner
What method do you use to fill a PromptTemplate with values?
You use the format() method and pass keyword arguments with keys matching the placeholder names to fill the template.
Click to reveal answer
beginner
Why use PromptTemplate instead of plain strings?
PromptTemplate helps keep your prompts organized and reusable. It avoids mistakes by clearly marking where values go and makes it easy to change parts without rewriting the whole prompt.
Click to reveal answer
beginner
Show a simple example of creating and using a PromptTemplate.
What symbol is used to mark placeholders in a PromptTemplate?
A[]
B()
C<>
D{}
✗ Incorrect
Placeholders in PromptTemplate are marked with curly braces {}.
Which method fills a PromptTemplate with actual values?
Afill()
Bformat()
Creplace()
Dinsert()
✗ Incorrect
The format() method is used to replace placeholders with real values.
Why is using PromptTemplate helpful?
AIt makes prompts static and unchangeable
BIt automatically runs the prompt on a server
CIt helps organize and reuse prompts with dynamic parts
DIt converts prompts into images
✗ Incorrect
PromptTemplate helps keep prompts organized and reusable with dynamic placeholders.
If your template is "Hi, {user}!", how do you fill it with user='Bob'?
Aprompt.format(user='Bob')
Bprompt.fill('Bob')
Cprompt.insert(user='Bob')
Dprompt.replace('user', 'Bob')
✗ Incorrect
You use format() with the placeholder name as keyword argument.
What happens if you forget to provide a value for a placeholder?
AAn error occurs when formatting
BThe prompt runs with default values
CThe placeholder is removed silently
DThe placeholder stays as is in the output
✗ Incorrect
Missing values for placeholders cause an error during format() call.
Explain what a PromptTemplate is and why it is useful in Langchain.
Think about how you would write a letter with blanks to fill in later.
You got /4 concepts.
Describe the steps to create and use a PromptTemplate with an example.
Imagine filling out a form with your name and details.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of PromptTemplate in langchain?
easy
A. To create message templates with placeholders for dynamic content
B. To execute machine learning models directly
C. To store data in a database
D. To visualize data in charts
Solution
Step 1: Understand the role of PromptTemplate
PromptTemplate is designed to create text templates that include placeholders for variables.
Step 2: Identify its main use
It helps organize prompts by allowing you to fill in placeholders later, making prompt reuse easier.
Final Answer:
To create message templates with placeholders for dynamic content -> Option A
Quick Check:
PromptTemplate = Templates with placeholders [OK]
Hint: PromptTemplate = template with blanks to fill [OK]
Common Mistakes:
Thinking PromptTemplate runs models
Confusing it with data storage
Assuming it creates visual charts
2. Which of the following is the correct way to create a PromptTemplate with a placeholder named name?
easy
A. PromptTemplate.from_template("Hello, <name>!")
B. PromptTemplate.from_template("Hello, $name!")
C. PromptTemplate.from_template("Hello, {name}!")
D. PromptTemplate.from_template("Hello, %name%!")
Solution
Step 1: Recall placeholder syntax in PromptTemplate
Langchain uses curly braces {} to mark placeholders in templates.
Step 2: Match the syntax to the options
Only PromptTemplate.from_template("Hello, {name}!") uses curly braces correctly: {name}.
Final Answer:
PromptTemplate.from_template("Hello, {name}!") -> Option C
Quick Check:
Placeholders use curly braces {} [OK]
Hint: Placeholders always use curly braces {} [OK]
Common Mistakes:
Using $ or % instead of {} for placeholders
Using angle brackets <> which are invalid
Confusing placeholder syntax with other languages
3. Given the code:
from langchain.prompts import PromptTemplate
prompt = PromptTemplate.from_template("Hello, {name}!")
result = prompt.format(name="Alice")
print(result)
What will be printed?
medium
A. Hello, {name}!
B. Hello, Alice!
C. Hello, name!
D. Error: missing argument
Solution
Step 1: Understand the template and format method
The template has a placeholder {name}. The format method fills it with the value "Alice".
Step 2: Determine the output of print(result)
After formatting, the placeholder is replaced, so the output is "Hello, Alice!".
Final Answer:
Hello, Alice! -> Option B
Quick Check:
format() replaces {name} with "Alice" [OK]
Hint: format() fills placeholders with given values [OK]
Common Mistakes:
Printing template without formatting
Confusing placeholder name with literal text
Expecting an error without missing arguments
4. What is the error in this code snippet?
from langchain.prompts import PromptTemplate
prompt = PromptTemplate.from_template("Hi, {user}!")
result = prompt.format(name="Bob")
print(result)
medium
A. KeyError because 'user' placeholder is not provided
B. No error; output is 'Hi, Bob!'
C. SyntaxError due to wrong placeholder syntax
D. TypeError because format() is missing arguments
Solution
Step 1: Check placeholder and format argument names
The template uses {user} but format() provides name="Bob" which does not match.
Step 2: Understand the error caused
Since {user} is not given a value, a KeyError occurs during formatting.
Final Answer:
KeyError because 'user' placeholder is not provided -> Option A
Quick Check:
Placeholder name must match format() keys [OK]
Hint: Placeholder and format keys must match exactly [OK]
Common Mistakes:
Assuming format() keys can differ from placeholders
Thinking it's a syntax error
Expecting no error when keys mismatch
5. You want to create a PromptTemplate that asks for a user's name and age, then formats a greeting. Which code correctly defines and uses this template?
hard
A. prompt = PromptTemplate.from_template("Hello {name}, you are {age} years old.")
result = prompt.format(user="Eva", years=30)
print(result)
B. prompt = PromptTemplate.from_template("Hello {name}, you are {age} years old.")
result = prompt.format(name="Eva")
print(result)
C. prompt = PromptTemplate.from_template("Hello {name}, you are {age} years old.")
result = prompt.format("Eva", 30)
print(result)
D. prompt = PromptTemplate.from_template("Hello {name}, you are {age} years old.")
result = prompt.format(name="Eva", age=30)
print(result)
Solution
Step 1: Check template placeholders
The template has placeholders {name} and {age} which must be provided as keyword arguments in format().
Step 2: Verify format() usage
prompt = PromptTemplate.from_template("Hello {name}, you are {age} years old.")
result = prompt.format(name="Eva", age=30)
print(result) correctly passes name="Eva" and age=30 matching placeholders. Others miss arguments or use wrong keys or positional args.
Final Answer:
Correctly defines and uses placeholders with matching keys -> Option D
Quick Check:
Match placeholders and format() keys exactly [OK]
Hint: Pass all placeholders as keyword args in format() [OK]