Home / Function/ test_multiple_fallbacks_async() — langchain Function Reference

test_multiple_fallbacks_async() — langchain Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  78f6d420_ea42_228c_4d5c_a0ffe51f3a4b["test_multiple_fallbacks_async()"]
  c6372e75_e4e3_ed20_8230_4be219762f0f["test_model_fallback.py"]
  78f6d420_ea42_228c_4d5c_a0ffe51f3a4b -->|defined in| c6372e75_e4e3_ed20_8230_4be219762f0f
  87e5ea8c_f6ab_eab3_8968_7c2261cefbeb["_make_request()"]
  78f6d420_ea42_228c_4d5c_a0ffe51f3a4b -->|calls| 87e5ea8c_f6ab_eab3_8968_7c2261cefbeb
  b6272a92_ada1_37f0_58c7_437cc1db0ff8["_agenerate()"]
  78f6d420_ea42_228c_4d5c_a0ffe51f3a4b -->|calls| b6272a92_ada1_37f0_58c7_437cc1db0ff8
  style 78f6d420_ea42_228c_4d5c_a0ffe51f3a4b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py lines 212–242

async def test_multiple_fallbacks_async() -> None:
    """Test async version - multiple fallback models are tried in sequence."""

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

    primary_model = AsyncFailingModel(messages=iter([AIMessage(content="should not see")]))
    fallback1 = AsyncFailingModel(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)

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

    response = await middleware.awrap_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_async() do?
test_multiple_fallbacks_async() 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_async() defined?
test_multiple_fallbacks_async() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_model_fallback.py at line 212.
What does test_multiple_fallbacks_async() call?
test_multiple_fallbacks_async() calls 2 function(s): _agenerate, _make_request.

Analyze Your Own Codebase

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

Try Supermodel Free