Home / Function/ test_structured_output_strict() — langchain Function Reference

test_structured_output_strict() — langchain Function Reference

Architecture documentation for the test_structured_output_strict() function in test_base.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  6c19e6c9_2316_dfb3_532d_9452459f1cb2["test_structured_output_strict()"]
  bd382a4e_442c_13ae_530c_6e34bc43623d["test_base.py"]
  6c19e6c9_2316_dfb3_532d_9452459f1cb2 -->|defined in| bd382a4e_442c_13ae_530c_6e34bc43623d
  style 6c19e6c9_2316_dfb3_532d_9452459f1cb2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/openai/tests/integration_tests/chat_models/test_base.py lines 775–812

def test_structured_output_strict(
    model: str,
    method: Literal["function_calling", "json_schema"],
    use_responses_api: bool,
) -> None:
    """Test to verify structured output with strict=True."""

    from pydantic import BaseModel as BaseModelProper
    from pydantic import Field as FieldProper

    llm = ChatOpenAI(model=model, use_responses_api=use_responses_api)

    class Joke(BaseModelProper):
        """Joke to tell user."""

        setup: str = FieldProper(description="question to set up a joke")
        punchline: str = FieldProper(description="answer to resolve the joke")

    # Pydantic class
    chat = llm.with_structured_output(Joke, method=method, strict=True)
    result = chat.invoke("Tell me a joke about cats.")
    assert isinstance(result, Joke)

    for chunk in chat.stream("Tell me a joke about cats."):
        assert isinstance(chunk, Joke)

    # Schema
    chat = llm.with_structured_output(
        Joke.model_json_schema(), method=method, strict=True
    )
    result = chat.invoke("Tell me a joke about cats.")
    assert isinstance(result, dict)
    assert set(result.keys()) == {"setup", "punchline"}

    for chunk in chat.stream("Tell me a joke about cats."):
        assert isinstance(chunk, dict)
    assert isinstance(chunk, dict)  # for mypy
    assert set(chunk.keys()) == {"setup", "punchline"}

Domain

Subdomains

Frequently Asked Questions

What does test_structured_output_strict() do?
test_structured_output_strict() is a function in the langchain codebase, defined in libs/partners/openai/tests/integration_tests/chat_models/test_base.py.
Where is test_structured_output_strict() defined?
test_structured_output_strict() is defined in libs/partners/openai/tests/integration_tests/chat_models/test_base.py at line 775.

Analyze Your Own Codebase

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

Try Supermodel Free