MCPcopy
hub / github.com/langchain-ai/langchain / MessagesPlaceholder

Class MessagesPlaceholder

libs/core/langchain_core/prompts/chat.py:110–243  ·  view source on GitHub ↗

Prompt template that assumes variable is already list of messages. A placeholder which can be used to pass in a list of messages. Direct usage: .. code-block:: python from langchain_core.prompts import MessagesPlaceholder prompt = MessagesPlaceholder("his

Source from the content-addressed store, hash-verified

108
109
110class MessagesPlaceholder(BaseMessagePromptTemplate):
111 """Prompt template that assumes variable is already list of messages.
112
113 A placeholder which can be used to pass in a list of messages.
114
115 Direct usage:
116
117 .. code-block:: python
118
119 from langchain_core.prompts import MessagesPlaceholder
120
121 prompt = MessagesPlaceholder("history")
122 prompt.format_messages() # raises KeyError
123
124 prompt = MessagesPlaceholder("history", optional=True)
125 prompt.format_messages() # returns empty list []
126
127 prompt.format_messages(
128 history=[
129 ("system", "You are an AI assistant."),
130 ("human", "Hello!"),
131 ]
132 )
133 # -> [
134 # SystemMessage(content="You are an AI assistant."),
135 # HumanMessage(content="Hello!"),
136 # ]
137
138 Building a prompt with chat history:
139
140 .. code-block:: python
141
142 from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
143
144 prompt = ChatPromptTemplate.from_messages(
145 [
146 ("system", "You are a helpful assistant."),
147 MessagesPlaceholder("history"),
148 ("human", "{question}")
149 ]
150 )
151 prompt.invoke(
152 {
153 "history": [("human", "what's 5 + 2"), ("ai", "5 + 2 is 7")],
154 "question": "now multiply that by 4"
155 }
156 )
157 # -> ChatPromptValue(messages=[
158 # SystemMessage(content="You are a helpful assistant."),
159 # HumanMessage(content="what's 5 + 2"),
160 # AIMessage(content="5 + 2 is 7"),
161 # HumanMessage(content="now multiply that by 4"),
162 # ])
163
164 Limiting the number of messages:
165
166 .. code-block:: python
167

Callers 15

agent.pyFile · 0.90
chain.pyFile · 0.90
agent.pyFile · 0.90
agent.pyFile · 0.90
chain.pyFile · 0.90
chain.pyFile · 0.90
agent.pyFile · 0.90
agent.pyFile · 0.90
agent.pyFile · 0.90
agent.pyFile · 0.90
chain.pyFile · 0.90
prompts.pyFile · 0.90

Calls

no outgoing calls