Home / Function/ format_messages() — langchain Function Reference

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

Subdomains

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