test_model_fallback_middleware_with_agent() — langchain Function Reference
Architecture documentation for the test_model_fallback_middleware_with_agent() function in test_model_fallback.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 90dad567_2eec_f175_70c5_cbc86c365cbd["test_model_fallback_middleware_with_agent()"] c6372e75_e4e3_ed20_8230_4be219762f0f["test_model_fallback.py"] 90dad567_2eec_f175_70c5_cbc86c365cbd -->|defined in| c6372e75_e4e3_ed20_8230_4be219762f0f 6fcf00cc_28c5_96c2_9c24_987556d1c13e["_llm_type()"] 90dad567_2eec_f175_70c5_cbc86c365cbd -->|calls| 6fcf00cc_28c5_96c2_9c24_987556d1c13e 478a87ea_9f11_34e4_9905_c8e2bb1205b7["_generate()"] 90dad567_2eec_f175_70c5_cbc86c365cbd -->|calls| 478a87ea_9f11_34e4_9905_c8e2bb1205b7 style 90dad567_2eec_f175_70c5_cbc86c365cbd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py lines 275–327
def test_model_fallback_middleware_with_agent() -> None:
"""Test ModelFallbackMiddleware with agent.invoke and fallback models only."""
class FailingModel(BaseChatModel):
"""Model that always fails."""
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
msg = "Primary model failed"
raise ValueError(msg)
@property
def _llm_type(self) -> str:
return "failing"
class SuccessModel(BaseChatModel):
"""Model that succeeds."""
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
return ChatResult(
generations=[ChatGeneration(message=AIMessage(content="Fallback success"))]
)
@property
def _llm_type(self) -> str:
return "success"
primary = FailingModel()
fallback = SuccessModel()
# Only pass fallback models to middleware (not the primary)
fallback_middleware = ModelFallbackMiddleware(fallback)
agent = create_agent(model=primary, middleware=[fallback_middleware])
result = agent.invoke({"messages": [HumanMessage("Test")]})
# Should have succeeded with fallback model
assert len(result["messages"]) == 2
assert result["messages"][1].content == "Fallback success"
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does test_model_fallback_middleware_with_agent() do?
test_model_fallback_middleware_with_agent() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py.
Where is test_model_fallback_middleware_with_agent() defined?
test_model_fallback_middleware_with_agent() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py at line 275.
What does test_model_fallback_middleware_with_agent() call?
test_model_fallback_middleware_with_agent() calls 2 function(s): _generate, _llm_type.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free