Home / File/ messages.py — langchain Source File

messages.py — langchain Source File

Architecture documentation for messages.py, a python file in the langchain codebase. 3 imports, 0 dependents.

File python CoreAbstractions MessageSchema 3 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  075bc76a_afea_703d_efd0_3dba76c1c3e8["messages.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  075bc76a_afea_703d_efd0_3dba76c1c3e8 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"]
  075bc76a_afea_703d_efd0_3dba76c1c3e8 --> d758344f_537f_649e_f467_b9d7442e86df
  025f8f3c_a8b0_a90c_f078_f5829ca69d28["tests.unit_tests.agents.any_str"]
  075bc76a_afea_703d_efd0_3dba76c1c3e8 --> 025f8f3c_a8b0_a90c_f078_f5829ca69d28
  style 075bc76a_afea_703d_efd0_3dba76c1c3e8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Redefined messages as a work-around for pydantic issue with AnyStr.

The code below creates version of pydantic models
that will work in unit tests with AnyStr as id field
Please note that the `id` field is assigned AFTER the model is created
to workaround an issue with pydantic ignoring the __eq__ method on
subclassed strings.
"""

from typing import Any

from langchain_core.messages import HumanMessage, ToolMessage

from tests.unit_tests.agents.any_str import AnyStr


def _AnyIdHumanMessage(**kwargs: Any) -> HumanMessage:  # noqa: N802
    """Create a human message with an any id field."""
    message = HumanMessage(**kwargs)
    message.id = AnyStr()
    return message


def _AnyIdToolMessage(**kwargs: Any) -> ToolMessage:  # noqa: N802
    """Create a tool message with an any id field."""
    message = ToolMessage(**kwargs)
    message.id = AnyStr()
    return message

Subdomains

Dependencies

  • langchain_core.messages
  • tests.unit_tests.agents.any_str
  • typing

Frequently Asked Questions

What does messages.py do?
messages.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, MessageSchema subdomain.
What functions are defined in messages.py?
messages.py defines 2 function(s): _AnyIdHumanMessage, _AnyIdToolMessage.
What does messages.py depend on?
messages.py imports 3 module(s): langchain_core.messages, tests.unit_tests.agents.any_str, typing.
Where is messages.py in the architecture?
messages.py is located at libs/langchain_v1/tests/unit_tests/agents/messages.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain_v1/tests/unit_tests/agents).

Analyze Your Own Codebase

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

Try Supermodel Free