Few-shot prompt templates help you teach AI models by showing a few examples before asking a question. This makes the AI understand better what you want.
Few-shot prompt templates in LangChain
from langchain.prompts import FewShotPromptTemplate, PromptTemplate example_prompt = PromptTemplate( input_variables=["input", "output"], template="Input: {input}\nOutput: {output}" ) examples = [ {"input": "Hello", "output": "Hi!"}, {"input": "Bye", "output": "Goodbye!"} ] few_shot_prompt = FewShotPromptTemplate( examples=examples, example_prompt=example_prompt, prefix="Answer the following greetings:", suffix="Input: {input}", input_variables=["input"] )
The examples list holds example input-output pairs.
The prefix and suffix add text before and after examples.
examples = [
{"input": "Good morning", "output": "Morning!"},
{"input": "Good night", "output": "Sleep well!"}
]
few_shot_prompt = FewShotPromptTemplate(
examples=examples,
example_prompt=example_prompt,
prefix="Respond to greetings:",
suffix="Input: {input}",
input_variables=["input"]
)few_shot_prompt.format(input="Hello there")
This program creates a few-shot prompt with two example words and definitions. Then it formats the prompt to ask for the definition of "JavaScript".
from langchain.prompts import FewShotPromptTemplate, PromptTemplate example_prompt = PromptTemplate( input_variables=["word", "definition"], template="Word: {word}\nDefinition: {definition}" ) examples = [ {"word": "Python", "definition": "A programming language."}, {"word": "Java", "definition": "Another programming language."} ] few_shot_prompt = FewShotPromptTemplate( examples=examples, example_prompt=example_prompt, prefix="Here are some words and their definitions:", suffix="Word: {word}\nDefinition:", input_variables=["word"] ) prompt_text = few_shot_prompt.format(word="JavaScript") print(prompt_text)
Keep examples clear and relevant to help the AI understand the task.
You can change the prefix and suffix to guide the AI's response style.
Use format to insert new inputs into the prompt before sending to the AI.
Few-shot prompt templates show examples to teach AI how to respond.
They combine example prompts, example data, and extra text around them.
This helps AI give better, more accurate answers.
Practice
Solution
Step 1: Understand few-shot prompt templates
Few-shot prompt templates include example prompts and responses to teach AI how to answer.Step 2: Identify the main purpose
The main goal is to guide AI behavior by showing examples, not to store data or create interfaces.Final Answer:
To provide example prompts and responses to guide AI behavior -> Option AQuick Check:
Few-shot prompt templates guide AI with examples = A [OK]
- Confusing prompt templates with data storage
- Thinking they run code instead of guiding AI
- Assuming they build UI components
Solution
Step 1: Recall Langchain few-shot prompt syntax
The correct constructor uses parameters: examples, example_prompt, and prefix.Step 2: Match parameters to options
Only FewShotPromptTemplate(examples=examples, example_prompt=example_prompt, prefix=prefix_text) uses the exact parameter names required by Langchain's FewShotPromptTemplate.Final Answer:
FewShotPromptTemplate(examples=examples, example_prompt=example_prompt, prefix=prefix_text) -> Option CQuick Check:
Correct parameter names = B [OK]
- Using wrong parameter names like data or samples
- Mixing prefix with suffix or footer
- Confusing example_prompt with prompt_template
print(prompt_template.format(input="Translate to French: Hello") )?
examples = [{"input": "Hello", "output": "Bonjour"}]
example_prompt = PromptTemplate(input_variables=["input", "output"], template="Input: {input}\nOutput: {output}")
prompt_template = FewShotPromptTemplate(examples=examples, example_prompt=example_prompt, prefix="Translate English to French:\n", suffix="\nInput: {input}\nOutput:", input_variables=["input"])Solution
Step 1: Understand few-shot prompt formatting
The prompt includes the prefix, then example prompts formatted with example data, then the new input prompt.Step 2: Apply formatting to given input
The prefix is "Translate English to French:", then example "Input: Hello\nOutput: Bonjour", then the new input "Input: Translate to French: Hello\nOutput:" (empty output to be filled by AI).Final Answer:
Translate English to French: Input: Hello Output: Bonjour Input: Translate to French: Hello Output: -> Option DQuick Check:
Prefix + example + new input prompt = C [OK]
- Ignoring prefix text in output
- Not formatting new input as 'Input: ... Output:'
- Confusing example data with new input
examples = [{"input": "Hi", "output": "Salut"}]
example_prompt = PromptTemplate(input_variables=["input", "output"], template="Input: {input}\nOutput: {output}")
prompt_template = FewShotPromptTemplate(examples=examples, example_prompt=example_prompt, prefix="Translate:")
print(prompt_template.format(input="Hello"))Solution
Step 1: Check FewShotPromptTemplate required parameters
FewShotPromptTemplate requires input_variables parameter to know which inputs to expect.Step 2: Identify missing parameter
The code misses input_variables in FewShotPromptTemplate, causing an error when calling format.Final Answer:
Missing input_variables parameter in FewShotPromptTemplate constructor -> Option BQuick Check:
input_variables missing = D [OK]
- Omitting input_variables in FewShotPromptTemplate
- Thinking prefix must be a function
- Assuming examples can be empty
Solution
Step 1: Understand filtering in few-shot templates
FewShotPromptTemplate uses the examples list as-is; filtering must happen before passing examples.Step 2: Evaluate options for filtering
Only filtering the examples list before creating the template ensures empty outputs are excluded properly.Final Answer:
Filter the examples list before passing it to FewShotPromptTemplate constructor -> Option AQuick Check:
Pre-filter examples before constructor = A [OK]
- Trying to filter inside example_prompt formatting
- Assuming Langchain auto-filters empty outputs
- Filtering after formatting instead of before
Ready to prove it?
Pass the test and this pattern moves unknown
