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
| 108 | |
| 109 | |
| 110 | class 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 |
no outgoing calls