Home / Class/ LimitedRetryMiddleware Class — langchain Architecture

LimitedRetryMiddleware Class — langchain Architecture

Architecture documentation for the LimitedRetryMiddleware class in test_wrap_model_call.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  9f905a6a_1d73_4a83_1649_44d4d74e3d88["LimitedRetryMiddleware"]
  949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e["AgentMiddleware"]
  9f905a6a_1d73_4a83_1649_44d4d74e3d88 -->|extends| 949c7cf4_56fe_f3b4_cd89_9631a7e9cb1e
  573473e5_eb93_a7d7_84ba_c975071c09af["test_wrap_model_call.py"]
  9f905a6a_1d73_4a83_1649_44d4d74e3d88 -->|defined in| 573473e5_eb93_a7d7_84ba_c975071c09af
  2205bdec_dfee_45ca_c41a_45b6bdf556a3["__init__()"]
  9f905a6a_1d73_4a83_1649_44d4d74e3d88 -->|method| 2205bdec_dfee_45ca_c41a_45b6bdf556a3
  b06525f4_6f31_f815_f20b_a5437273ab4d["wrap_model_call()"]
  9f905a6a_1d73_4a83_1649_44d4d74e3d88 -->|method| b06525f4_6f31_f815_f20b_a5437273ab4d

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py lines 256–281

        class LimitedRetryMiddleware(AgentMiddleware):
            """Middleware that limits its own retries."""

            def __init__(self, max_retries: int = 10):
                super().__init__()
                self.max_retries = max_retries
                self.attempt_count = 0

            def wrap_model_call(
                self,
                request: ModelRequest,
                handler: Callable[[ModelRequest], ModelResponse],
            ) -> ModelCallResult:
                last_exception = None
                for _attempt in range(self.max_retries):
                    self.attempt_count += 1
                    try:
                        return handler(request)
                    except Exception as e:
                        last_exception = e
                        # Continue to retry

                # All retries exhausted, re-raise the last error
                if last_exception:
                    raise last_exception
                pytest.fail("Should have raised an exception")

Extends

Frequently Asked Questions

What is the LimitedRetryMiddleware class?
LimitedRetryMiddleware is a class in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py.
Where is LimitedRetryMiddleware defined?
LimitedRetryMiddleware is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 256.
What does LimitedRetryMiddleware extend?
LimitedRetryMiddleware extends AgentMiddleware.

Analyze Your Own Codebase

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

Try Supermodel Free