test_model_fallback_middleware_exhausted_with_agent() — langchain Function Reference
Architecture documentation for the test_model_fallback_middleware_exhausted_with_agent() function in test_model_fallback.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 8ee8c57b_2032_bdb4_ddf4_e238686da9cf["test_model_fallback_middleware_exhausted_with_agent()"] c6372e75_e4e3_ed20_8230_4be219762f0f["test_model_fallback.py"] 8ee8c57b_2032_bdb4_ddf4_e238686da9cf -->|defined in| c6372e75_e4e3_ed20_8230_4be219762f0f 6fcf00cc_28c5_96c2_9c24_987556d1c13e["_llm_type()"] 8ee8c57b_2032_bdb4_ddf4_e238686da9cf -->|calls| 6fcf00cc_28c5_96c2_9c24_987556d1c13e 478a87ea_9f11_34e4_9905_c8e2bb1205b7["_generate()"] 8ee8c57b_2032_bdb4_ddf4_e238686da9cf -->|calls| 478a87ea_9f11_34e4_9905_c8e2bb1205b7 style 8ee8c57b_2032_bdb4_ddf4_e238686da9cf fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py lines 330–366
def test_model_fallback_middleware_exhausted_with_agent() -> None:
"""Test ModelFallbackMiddleware with agent.invoke when all models fail."""
class AlwaysFailingModel(BaseChatModel):
"""Model that always fails."""
def __init__(self, name: str):
super().__init__()
self.name = name
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
msg = f"{self.name} failed"
raise ValueError(msg)
@property
def _llm_type(self) -> str:
return self.name or "always_failing"
primary = AlwaysFailingModel("primary")
fallback1 = AlwaysFailingModel("fallback1")
fallback2 = AlwaysFailingModel("fallback2")
# Primary fails (attempt 1), then fallback1 (attempt 2), then fallback2 (attempt 3)
fallback_middleware = ModelFallbackMiddleware(fallback1, fallback2)
agent = create_agent(model=primary, middleware=[fallback_middleware])
# Should fail with the last fallback's error
with pytest.raises(ValueError, match="fallback2 failed"):
agent.invoke({"messages": [HumanMessage("Test")]})
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does test_model_fallback_middleware_exhausted_with_agent() do?
test_model_fallback_middleware_exhausted_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_exhausted_with_agent() defined?
test_model_fallback_middleware_exhausted_with_agent() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py at line 330.
What does test_model_fallback_middleware_exhausted_with_agent() call?
test_model_fallback_middleware_exhausted_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