format_messages() — langchain Function Reference
Architecture documentation for the format_messages() function in chat.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD a912d932_8157_994e_b37d_ed55e4821d34["format_messages()"] 6be4a9a5_5fe4_e64f_c374_e63767576bf6["ChatPromptTemplate"] a912d932_8157_994e_b37d_ed55e4821d34 -->|defined in| 6be4a9a5_5fe4_e64f_c374_e63767576bf6 9e40405f_9251_5a40_24a2_2959e7b39db7["format_messages()"] 9e40405f_9251_5a40_24a2_2959e7b39db7 -->|calls| a912d932_8157_994e_b37d_ed55e4821d34 e9411289_e300_3889_9890_8b2d1e616969["format_prompt()"] e9411289_e300_3889_9890_8b2d1e616969 -->|calls| a912d932_8157_994e_b37d_ed55e4821d34 888559a1_7b1d_0bba_1c91_f63624147a91["aformat_messages()"] 888559a1_7b1d_0bba_1c91_f63624147a91 -->|calls| a912d932_8157_994e_b37d_ed55e4821d34 490adae9_6c8b_f224_cfeb_133ca6ea29c8["partial()"] 490adae9_6c8b_f224_cfeb_133ca6ea29c8 -->|calls| a912d932_8157_994e_b37d_ed55e4821d34 a7addf49_35b7_d70e_edec_9401bf339038["extend()"] a912d932_8157_994e_b37d_ed55e4821d34 -->|calls| a7addf49_35b7_d70e_edec_9401bf339038 9e40405f_9251_5a40_24a2_2959e7b39db7["format_messages()"] a912d932_8157_994e_b37d_ed55e4821d34 -->|calls| 9e40405f_9251_5a40_24a2_2959e7b39db7 style a912d932_8157_994e_b37d_ed55e4821d34 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/prompts/chat.py lines 1169–1195
def format_messages(self, **kwargs: Any) -> list[BaseMessage]:
"""Format the chat template into a list of finalized messages.
Args:
**kwargs: Keyword arguments to use for filling in template variables
in all the template messages in this chat template.
Raises:
ValueError: If messages are of unexpected types.
Returns:
List of formatted messages.
"""
kwargs = self._merge_partial_and_user_variables(**kwargs)
result = []
for message_template in self.messages:
if isinstance(message_template, BaseMessage):
result.extend([message_template])
elif isinstance(
message_template, (BaseMessagePromptTemplate, BaseChatPromptTemplate)
):
message = message_template.format_messages(**kwargs)
result.extend(message)
else:
msg = f"Unexpected input: {message_template}"
raise ValueError(msg) # noqa: TRY004
return result
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does format_messages() do?
format_messages() is a function in the langchain codebase, defined in libs/core/langchain_core/prompts/chat.py.
Where is format_messages() defined?
format_messages() is defined in libs/core/langchain_core/prompts/chat.py at line 1169.
What does format_messages() call?
format_messages() calls 2 function(s): extend, format_messages.
What calls format_messages()?
format_messages() is called by 4 function(s): aformat_messages, format_messages, format_prompt, partial.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free