Home / File/ test_messages.py — langchain Source File

test_messages.py — langchain Source File

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

File python CoreAbstractions MessageSchema 9 imports 29 functions 2 classes

Entity Profile

Dependency Diagram

graph LR
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26["test_messages.py"]
  8dfa0cac_d802_3ccd_f710_43a5e70da3a5["uuid"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 8dfa0cac_d802_3ccd_f710_43a5e70da3a5
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  120e2591_3e15_b895_72b6_cb26195e40a6["pytest"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 120e2591_3e15_b895_72b6_cb26195e40a6
  c554676d_b731_47b2_a98f_c1c2d537c0aa["langchain_core.documents"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> c554676d_b731_47b2_a98f_c1c2d537c0aa
  36cce5da_d805_04c3_7e86_e1b4dd49b497["langchain_core.load"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 36cce5da_d805_04c3_7e86_e1b4dd49b497
  d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> d758344f_537f_649e_f467_b9d7442e86df
  67d9204c_49ef_a623_53ad_d78199dd66bc["langchain_core.messages.content"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 67d9204c_49ef_a623_53ad_d78199dd66bc
  552bc7bf_c1ac_965d_e157_ee750ab1993c["langchain_core.messages.tool"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 552bc7bf_c1ac_965d_e157_ee750ab1993c
  053c6d65_7a74_9819_7c2a_c7357c95d2b8["langchain_core.utils._merge"]
  3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 --> 053c6d65_7a74_9819_7c2a_c7357c95d2b8
  style 3f9e7dd9_29c9_13fc_d3d8_a14d452f0d26 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import uuid
from typing import get_args

import pytest

from langchain_core.documents import Document
from langchain_core.load import dumpd, load
from langchain_core.messages import (
    AIMessage,
    AIMessageChunk,
    BaseMessage,
    BaseMessageChunk,
    ChatMessage,
    ChatMessageChunk,
    FunctionMessage,
    FunctionMessageChunk,
    HumanMessage,
    HumanMessageChunk,
    RemoveMessage,
    SystemMessage,
    ToolMessage,
    convert_to_messages,
    convert_to_openai_image_block,
    get_buffer_string,
    is_data_content_block,
    merge_content,
    message_chunk_to_message,
    message_to_dict,
    messages_from_dict,
    messages_to_dict,
)
from langchain_core.messages.content import KNOWN_BLOCK_TYPES, ContentBlock
from langchain_core.messages.tool import invalid_tool_call as create_invalid_tool_call
from langchain_core.messages.tool import tool_call as create_tool_call
from langchain_core.messages.tool import tool_call_chunk as create_tool_call_chunk
from langchain_core.utils._merge import merge_lists


def test_message_init() -> None:
    for doc in [
        BaseMessage(type="foo", content="bar"),
        BaseMessage(type="foo", content="bar", id=None),
        BaseMessage(type="foo", content="bar", id="1"),
        BaseMessage(type="foo", content="bar", id=1),
    ]:
        assert isinstance(doc, BaseMessage)


def test_message_chunks() -> None:
    assert AIMessageChunk(content="I am", id="ai3") + AIMessageChunk(
        content=" indeed."
    ) == AIMessageChunk(content="I am indeed.", id="ai3"), (
        "MessageChunk + MessageChunk should be a MessageChunk"
    )

    assert AIMessageChunk(content="I am", id="ai2") + HumanMessageChunk(
        content=" indeed.", id="human1"
    ) == AIMessageChunk(content="I am indeed.", id="ai2"), (
        "MessageChunk + MessageChunk should be a MessageChunk "
        "of same class as the left side"
// ... (1301 more lines)

Subdomains

Dependencies

  • langchain_core.documents
  • langchain_core.load
  • langchain_core.messages
  • langchain_core.messages.content
  • langchain_core.messages.tool
  • langchain_core.utils._merge
  • pytest
  • typing
  • uuid

Frequently Asked Questions

What does test_messages.py do?
test_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 test_messages.py?
test_messages.py defines 29 function(s): test_ai_message_chunks, test_chat_message_chunks, test_complex_ai_message_chunks, test_convert_to_messages, test_convert_to_openai_image_block, test_function_message_chunks, test_is_data_content_block, test_known_block_types, test_merge_content, test_merge_tool_calls, and 19 more.
What does test_messages.py depend on?
test_messages.py imports 9 module(s): langchain_core.documents, langchain_core.load, langchain_core.messages, langchain_core.messages.content, langchain_core.messages.tool, langchain_core.utils._merge, pytest, typing, and 1 more.
Where is test_messages.py in the architecture?
test_messages.py is located at libs/core/tests/unit_tests/test_messages.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/core/tests/unit_tests).

Analyze Your Own Codebase

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

Try Supermodel Free