Home / Function/ test_multiple_fallbacks() — langchain Function Reference

test_multiple_fallbacks() — langchain Function Reference

Architecture documentation for the test_multiple_fallbacks() function in test_model_fallback.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  b28cbc5f_0a0f_6e75_c039_4e476acf2bcf["test_multiple_fallbacks()"]
  c6372e75_e4e3_ed20_8230_4be219762f0f["test_model_fallback.py"]
  b28cbc5f_0a0f_6e75_c039_4e476acf2bcf -->|defined in| c6372e75_e4e3_ed20_8230_4be219762f0f
  87e5ea8c_f6ab_eab3_8968_7c2261cefbeb["_make_request()"]
  b28cbc5f_0a0f_6e75_c039_4e476acf2bcf -->|calls| 87e5ea8c_f6ab_eab3_8968_7c2261cefbeb
  fc62f046_017a_e638_7bb9_4717283b8bd6["_generate()"]
  b28cbc5f_0a0f_6e75_c039_4e476acf2bcf -->|calls| fc62f046_017a_e638_7bb9_4717283b8bd6
  style b28cbc5f_0a0f_6e75_c039_4e476acf2bcf fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py lines 97–127

def test_multiple_fallbacks() -> None:
    """Test that multiple fallback models are tried in sequence."""

    class FailingModel(GenericFakeChatModel):
        @override
        def _generate(
            self,
            messages: list[BaseMessage],
            stop: list[str] | None = None,
            run_manager: CallbackManagerForLLMRun | None = None,
            **kwargs: Any,
        ) -> ChatResult:
            msg = "Model failed"
            raise ValueError(msg)

    primary_model = FailingModel(messages=iter([AIMessage(content="should not see")]))
    fallback1 = FailingModel(messages=iter([AIMessage(content="fallback1")]))
    fallback2 = GenericFakeChatModel(messages=iter([AIMessage(content="fallback2")]))

    middleware = ModelFallbackMiddleware(fallback1, fallback2)
    request = _make_request()
    request = request.override(model=primary_model)

    def mock_handler(req: ModelRequest) -> ModelResponse:
        result = req.model.invoke([])
        return ModelResponse(result=[result])

    response = middleware.wrap_model_call(request, mock_handler)

    assert isinstance(response, ModelResponse)
    assert response.result[0].content == "fallback2"

Domain

Subdomains

Frequently Asked Questions

What does test_multiple_fallbacks() do?
test_multiple_fallbacks() 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_multiple_fallbacks() defined?
test_multiple_fallbacks() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py at line 97.
What does test_multiple_fallbacks() call?
test_multiple_fallbacks() calls 2 function(s): _generate, _make_request.

Analyze Your Own Codebase

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

Try Supermodel Free