test_simple_retry_on_error() — langchain Function Reference
Architecture documentation for the test_simple_retry_on_error() function in test_wrap_model_call.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD ae450ab7_5748_619d_f94d_1695b7403730["test_simple_retry_on_error()"] 1c3bae87_d793_bb0b_1a39_594b67feb9d4["TestRetryLogic"] ae450ab7_5748_619d_f94d_1695b7403730 -->|defined in| 1c3bae87_d793_bb0b_1a39_594b67feb9d4 style ae450ab7_5748_619d_f94d_1695b7403730 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py lines 109–151
def test_simple_retry_on_error(self) -> None:
"""Test middleware that retries once on error."""
call_count = {"value": 0}
class FailOnceThenSucceed(GenericFakeChatModel):
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
call_count["value"] += 1
if call_count["value"] == 1:
msg = "First call fails"
raise ValueError(msg)
return super()._generate(messages, **kwargs)
class RetryOnceMiddleware(AgentMiddleware):
def __init__(self) -> None:
super().__init__()
self.retry_count = 0
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
try:
return handler(request)
except Exception:
self.retry_count += 1
return handler(request)
retry_middleware = RetryOnceMiddleware()
model = FailOnceThenSucceed(messages=iter([AIMessage(content="Success")]))
agent = create_agent(model=model, middleware=[retry_middleware])
result = agent.invoke({"messages": [HumanMessage("Test")]})
assert retry_middleware.retry_count == 1
assert result["messages"][1].content == "Success"
Domain
Subdomains
Source
Frequently Asked Questions
What does test_simple_retry_on_error() do?
test_simple_retry_on_error() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py.
Where is test_simple_retry_on_error() defined?
test_simple_retry_on_error() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 109.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free