test_middleware_can_mix_string_and_system_message_updates() — langchain Function Reference
Architecture documentation for the test_middleware_can_mix_string_and_system_message_updates() function in test_system_message.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 83a76975_5645_0981_63b9_391dcf80e263["test_middleware_can_mix_string_and_system_message_updates()"] df87c006_f0fb_9a0b_32d6_ec8fc84e317b["TestMultipleMiddlewareChaining"] 83a76975_5645_0981_63b9_391dcf80e263 -->|defined in| df87c006_f0fb_9a0b_32d6_ec8fc84e317b style 83a76975_5645_0981_63b9_391dcf80e263 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/test_system_message.py lines 529–570
def test_middleware_can_mix_string_and_system_message_updates(self) -> None:
"""Test mixing string and SystemMessage updates across middleware."""
def string_middleware(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""Use string-based update."""
new_request = request.override(system_message=SystemMessage(content="String prompt"))
return handler(new_request)
def system_message_middleware(
request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
) -> ModelResponse:
"""Use SystemMessage-based update."""
current_content = request.system_message.text if request.system_message else ""
new_request = request.override(
system_message=SystemMessage(
content=current_content + " + SystemMessage",
additional_kwargs={"metadata": "added"},
)
)
return handler(new_request)
model = GenericFakeChatModel(messages=iter([AIMessage(content="response")]))
request = ModelRequest(
model=model,
system_message=None,
messages=[],
tool_choice=None,
tools=[],
response_format=None,
state=AgentState(messages=[]),
runtime=Runtime(),
)
def final_handler(req: ModelRequest) -> ModelResponse:
assert req.system_message is not None
assert req.system_message.text == "String prompt + SystemMessage"
assert req.system_message.additional_kwargs.get("metadata") == "added"
return ModelResponse(result=[AIMessage(content="response")])
string_middleware(request, lambda req: system_message_middleware(req, final_handler))
Domain
Subdomains
Source
Frequently Asked Questions
What does test_middleware_can_mix_string_and_system_message_updates() do?
test_middleware_can_mix_string_and_system_message_updates() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py.
Where is test_middleware_can_mix_string_and_system_message_updates() defined?
test_middleware_can_mix_string_and_system_message_updates() is defined in libs/langchain_v1/tests/unit_tests/agents/test_system_message.py at line 529.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free