Home / Class/ FunctionMessageChunk Class — langchain Architecture

FunctionMessageChunk Class — langchain Architecture

Architecture documentation for the FunctionMessageChunk class in function.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  b29d7e0a_6e97_8a9f_6b67_717670e94c07["FunctionMessageChunk"]
  a35a7515_a449_3a02_0fd1_f8dca85deb8a["FunctionMessage"]
  b29d7e0a_6e97_8a9f_6b67_717670e94c07 -->|extends| a35a7515_a449_3a02_0fd1_f8dca85deb8a
  d352e00a_ad20_d713_0d6d_0341e774180d["BaseMessageChunk"]
  b29d7e0a_6e97_8a9f_6b67_717670e94c07 -->|extends| d352e00a_ad20_d713_0d6d_0341e774180d
  b29d7e0a_6e97_8a9f_6b67_717670e94c07["FunctionMessageChunk"]
  b29d7e0a_6e97_8a9f_6b67_717670e94c07 -->|extends| b29d7e0a_6e97_8a9f_6b67_717670e94c07
  8adc15f5_9ee8_45b7_b522_1efcda6042a1["function.py"]
  b29d7e0a_6e97_8a9f_6b67_717670e94c07 -->|defined in| 8adc15f5_9ee8_45b7_b522_1efcda6042a1
  4b5c1227_679d_ca31_6ed5_c01613c6fb73["__add__()"]
  b29d7e0a_6e97_8a9f_6b67_717670e94c07 -->|method| 4b5c1227_679d_ca31_6ed5_c01613c6fb73

Relationship Graph

Source Code

libs/core/langchain_core/messages/function.py lines 34–62

class FunctionMessageChunk(FunctionMessage, BaseMessageChunk):
    """Function Message chunk."""

    # Ignoring mypy re-assignment here since we're overriding the value
    # to make sure that the chunk variant can be discriminated from the
    # non-chunk variant.
    type: Literal["FunctionMessageChunk"] = "FunctionMessageChunk"  # type: ignore[assignment]
    """The type of the message (used for serialization)."""

    @override
    def __add__(self, other: Any) -> BaseMessageChunk:  # type: ignore[override]
        if isinstance(other, FunctionMessageChunk):
            if self.name != other.name:
                msg = "Cannot concatenate FunctionMessageChunks with different names."
                raise ValueError(msg)

            return self.__class__(
                name=self.name,
                content=merge_content(self.content, other.content),
                additional_kwargs=merge_dicts(
                    self.additional_kwargs, other.additional_kwargs
                ),
                response_metadata=merge_dicts(
                    self.response_metadata, other.response_metadata
                ),
                id=self.id,
            )

        return super().__add__(other)

Frequently Asked Questions

What is the FunctionMessageChunk class?
FunctionMessageChunk is a class in the langchain codebase, defined in libs/core/langchain_core/messages/function.py.
Where is FunctionMessageChunk defined?
FunctionMessageChunk is defined in libs/core/langchain_core/messages/function.py at line 34.
What does FunctionMessageChunk extend?
FunctionMessageChunk extends FunctionMessage, BaseMessageChunk, FunctionMessageChunk.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free