test_structured_output_retry_first_attempt_invalid() — langchain Function Reference
Architecture documentation for the test_structured_output_retry_first_attempt_invalid() function in test_structured_output_retry.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 439b8d19_8f8e_8001_cabd_9f963fa2cd4b["test_structured_output_retry_first_attempt_invalid()"] dd58b626_28b2_b72e_0314_162a5a760201["test_structured_output_retry.py"] 439b8d19_8f8e_8001_cabd_9f963fa2cd4b -->|defined in| dd58b626_28b2_b72e_0314_162a5a760201 style 439b8d19_8f8e_8001_cabd_9f963fa2cd4b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py lines 87–136
def test_structured_output_retry_first_attempt_invalid() -> None:
"""Test structured output retry when first two attempts have invalid output."""
# First two attempts have invalid tool arguments, third attempt succeeds
# The model will call the WeatherReport structured output tool
tool_calls = [
# First attempt - invalid: wrong type for temperature
[
{
"name": "WeatherReport",
"id": "1",
"args": {"temperature": "not-a-float", "conditions": "sunny"},
}
],
# Second attempt - invalid: missing required field
[{"name": "WeatherReport", "id": "2", "args": {"temperature": 72.5}}],
# Third attempt - valid
[
{
"name": "WeatherReport",
"id": "3",
"args": {"temperature": 72.5, "conditions": "sunny"},
}
],
]
model = FakeToolCallingModel(tool_calls=tool_calls)
retry_middleware = StructuredOutputRetryMiddleware(max_retries=2)
agent = create_agent(
model=model,
tools=[get_weather],
middleware=[retry_middleware],
response_format=ToolStrategy(schema=WeatherReport, handle_errors=False),
checkpointer=InMemorySaver(),
)
result = agent.invoke(
{"messages": [HumanMessage("What's the weather in Tokyo?")]},
{"configurable": {"thread_id": "test"}},
)
# Verify we got a structured response
assert "structured_response" in result
structured = result["structured_response"]
assert isinstance(structured, WeatherReport)
assert structured.temperature == 72.5
assert structured.conditions == "sunny"
# Verify the model was called 3 times (initial + 2 retries)
assert model.index == 3
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does test_structured_output_retry_first_attempt_invalid() do?
test_structured_output_retry_first_attempt_invalid() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py.
Where is test_structured_output_retry_first_attempt_invalid() defined?
test_structured_output_retry_first_attempt_invalid() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py at line 87.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free