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 variable in LangChain?
A variable in LangChain is a placeholder that stores dynamic content or data which can change during the execution of a chain or prompt.
Click to reveal answer
beginner
How do variables help in creating dynamic prompts in LangChain?
Variables allow you to insert changing data into prompts, making the output adapt to different inputs or contexts without rewriting the prompt each time.
Click to reveal answer
beginner
In LangChain, what is the difference between a static string and dynamic content using variables?
A static string is fixed text that never changes, while dynamic content uses variables to insert values that can vary each time the chain runs.
Click to reveal answer
intermediate
How can you pass variables to a LangChain prompt template?
You pass variables as a dictionary or mapping when calling the prompt template, where keys match variable names and values are the dynamic content to insert.
Click to reveal answer
intermediate
Why is using variables in LangChain important for building reusable chains?
Using variables makes chains flexible and reusable because the same chain can work with different inputs, adapting its behavior without code changes.
Click to reveal answer
What does a variable in LangChain represent?
AA placeholder for dynamic data
BA fixed string that never changes
CA type of database
DA programming language
✗ Incorrect
Variables hold dynamic data that can change during execution.
How do you insert dynamic content into a LangChain prompt?
ABy hardcoding text inside the prompt
BBy changing the LangChain source code
CBy using only static strings
DBy passing variables with values when calling the prompt
✗ Incorrect
Passing variables with values allows dynamic content insertion.
Why use variables in LangChain chains?
ATo slow down the chain execution
BTo make chains reusable with different inputs
CTo make chains only work once
DTo avoid using prompts
✗ Incorrect
Variables enable chains to adapt to different inputs, making them reusable.
What happens if you use a variable in a prompt but don't provide its value?
AThe chain crashes immediately
BThe chain automatically guesses the value
CThe prompt runs with an empty or missing value
DThe variable is ignored and removed
✗ Incorrect
LangChain raises an error (e.g., KeyError) if a required variable is missing when formatting the prompt.
Which data structure is commonly used to pass variables to LangChain prompts?
ATuple
BList
CDictionary or mapping
DSet
✗ Incorrect
Dictionaries map variable names to their values for prompt insertion.
Explain how variables enable dynamic content in LangChain prompts.
Think about how you can reuse a form by filling in different answers.
You got /4 concepts.
Describe the process of passing variables to a LangChain prompt template.
Imagine filling blanks in a letter with names and dates.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of using variables in a Langchain PromptTemplate?
easy
A. To create multiple templates at once
B. To insert changing information into the text dynamically
C. To store the final output text permanently
D. To make the template text static and unchangeable
Solution
Step 1: Understand the role of variables in templates
Variables are placeholders that allow parts of the text to change based on input.
Step 2: Connect variables to dynamic content
Using variables lets you insert different values each time you use the template, making it dynamic.
Final Answer:
To insert changing information into the text dynamically -> Option B
Quick Check:
Variables = dynamic content insertion [OK]
Hint: Variables let text change based on input values [OK]
Hint: Use curly braces and list of strings for variables [OK]
Common Mistakes:
Forgetting quotes around variable names
Using wrong parameter name like variables instead of input_variables
Not using curly braces in template
3. Given the code:
template = PromptTemplate(template="Hello {user}, today is {day}.", input_variables=["user", "day"])
result = template.format(user="Alice", day="Monday")
print(result)
What will be printed?
medium
A. Hello Alice, today is Monday.
B. Hello {user}, today is {day}.
C. Hello user, today is day.
D. Error: Missing variables
Solution
Step 1: Understand how format fills variables
The format method replaces {user} with "Alice" and {day} with "Monday".
Step 2: Predict the final string after formatting
The placeholders are replaced, so the printed string is "Hello Alice, today is Monday."
Final Answer:
Hello Alice, today is Monday. -> Option A
Quick Check:
format replaces variables correctly = Hello Alice, today is Monday. [OK]
Hint: format() replaces placeholders with given values [OK]
Common Mistakes:
Printing template string without formatting
Confusing variable names with values
Expecting an error when variables are provided
4. What is wrong with this code snippet?
template = PromptTemplate(template="Hi {name}", input_variables=["name"])
result = template.format(nam="Bob")
print(result)
medium
A. input_variables should be a string, not a list
B. The template string is missing curly braces
C. format method cannot be used with PromptTemplate
D. The variable name in format is misspelled, causing a KeyError
Solution
Step 1: Compare variable names in template and format call
The template expects variable "name" but format uses "nam" which is incorrect.
Step 2: Understand the error caused by mismatch
This mismatch causes a KeyError because "name" is not provided in format arguments.
Final Answer:
The variable name in format is misspelled, causing a KeyError -> Option D
Quick Check:
Variable name mismatch = KeyError [OK]
Hint: Check variable names match exactly in template and format [OK]
Common Mistakes:
Assuming format ignores missing variables
Thinking input_variables must be a string
Believing format method is invalid here
5. You want to create a PromptTemplate that dynamically inserts a user's name and their favorite color, but if the color is not provided, it should default to "blue". Which approach correctly handles this dynamic content with a default value?
hard
A. Use input_variables=["name", "color"] and call format with color="blue" if missing
B. Define template with {name} and {color}, but omit color from input_variables to default it
C. Use input_variables=["name"] only and write template as "Hello {name}, your color is blue"
D. Set input_variables=["name", "color"] and use a conditional expression inside template like {color or 'blue'}
Solution
Step 1: Understand how to provide default values
Langchain's PromptTemplate requires all variables listed in input_variables to be provided when formatting.
Step 2: Provide default value in code when calling format
By including color in input_variables and passing color="blue" if missing, you ensure the template fills correctly.
Final Answer:
Use input_variables=["name", "color"] and call format with color="blue" if missing -> Option A
Quick Check:
Default values handled in format call = Use input_variables=["name", "color"] and call format with color="blue" if missing [OK]
Hint: Provide all variables; set defaults when calling format [OK]
Common Mistakes:
Omitting variables from input_variables to default
Trying to use Python expressions inside template strings
Hardcoding default text instead of using variables