Prompting Strategies: Prompt Templates

Learn how to implement LangChain prompt templates.

LangChain facilitates the use of model-agnostic templates, allowing for the ease of use of existing templates across various language models.

The PromptTemplate utilizes Python’s str.format method for its templating mechanism: str.format(*args, **kwargs). This method is invoked on a string that can contain plain text with replacement fields enclosed within braces {}. These fields can specify either the numeric index of a positional argument or the name of a keyword argument. The method produces a new string where each replacement field is substituted with the string representation of the corresponding argument.

Example:

Press + to interact
print("The sum of 1 + 2 is {0}".format(1+2))

PromptTemplate

We use PromptTemplate to create a template for a string prompt.

Press + to interact
from langchain_core.prompts import PromptTemplate
prompt = "I need you to book a reservation for me tonight at {time} at {place}"
prompt_template = PromptTemplate.from_template(prompt)
# Print the formatted prompt
print(prompt_template.format(time="9:00 PM", place="LaVie restaurant"))

In this code, we perform the following steps:

  • Line 1: We import the PromptTemplate from the langchain_core.prompts module.

  • Line 3: A prompt string is defined with placeholders for time and place.

  • Line 4: We create an instance of PromptTemplate using the from_template class method, passing the previously defined prompt string.

  • Lines 6–7: We use the format method of the prompt_template object to insert specific details into the prompt. In this case, the placeholders time and place are replaced with "9:00 PM" and "LaVie restaurant", respectively. This demonstrates how the prompt can be customized dynamically, and then we print it.

Zero-shot ChatPromptTemplate

This template effectively handles the dynamic creation of conversational content, enabling developers to build more engaging and contextually aware chatbots and AI assistants that can adapt to user inputs seamlessly.

Basic

...
Access this course and 1400+ top-rated courses and projects.