Home / Function/ test_summarization_middleware_summary_creation() — langchain Function Reference

test_summarization_middleware_summary_creation() — langchain Function Reference

Architecture documentation for the test_summarization_middleware_summary_creation() function in test_summarization.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  f00fe945_b7dd_cd72_89c8_8283eff79962["test_summarization_middleware_summary_creation()"]
  1911a463_b67d_0301_5ef1_5c535dafc14a["test_summarization.py"]
  f00fe945_b7dd_cd72_89c8_8283eff79962 -->|defined in| 1911a463_b67d_0301_5ef1_5c535dafc14a
  e2eebc26_55e4_d579_e031_4afa56f0e222["invoke()"]
  f00fe945_b7dd_cd72_89c8_8283eff79962 -->|calls| e2eebc26_55e4_d579_e031_4afa56f0e222
  style f00fe945_b7dd_cd72_89c8_8283eff79962 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py lines 171–220

def test_summarization_middleware_summary_creation() -> None:
    """Test SummarizationMiddleware summary creation."""
    middleware = SummarizationMiddleware(model=MockChatModel(), trigger=("tokens", 1000))

    # Test normal summary creation
    messages: list[AnyMessage] = [HumanMessage(content="Hello"), AIMessage(content="Hi")]
    summary = middleware._create_summary(messages)
    assert summary == "Generated summary"

    # Test empty messages
    summary = middleware._create_summary([])
    assert summary == "No previous conversation history."

    # Test error handling
    class ErrorModel(BaseChatModel):
        @override
        def invoke(
            self,
            input: LanguageModelInput,
            config: RunnableConfig | None = None,
            *,
            stop: list[str] | None = None,
            **kwargs: Any,
        ) -> AIMessage:
            msg = "Model error"
            raise ValueError(msg)

        @override
        def _generate(
            self,
            messages: list[BaseMessage],
            stop: list[str] | None = None,
            run_manager: CallbackManagerForLLMRun | None = None,
            **kwargs: Any,
        ) -> ChatResult:
            return ChatResult(generations=[ChatGeneration(message=AIMessage(content="Summary"))])

        @property
        def _llm_type(self) -> str:
            return "mock"

    middleware_error = SummarizationMiddleware(model=ErrorModel(), trigger=("tokens", 1000))
    summary = middleware_error._create_summary(messages)
    assert "Error generating summary: Model error" in summary

    # Test we raise warning if max_tokens_before_summary or messages_to_keep is specified
    with pytest.warns(DeprecationWarning, match="max_tokens_before_summary is deprecated"):
        SummarizationMiddleware(model=MockChatModel(), max_tokens_before_summary=500)
    with pytest.warns(DeprecationWarning, match="messages_to_keep is deprecated"):
        SummarizationMiddleware(model=MockChatModel(), messages_to_keep=5)

Domain

Subdomains

Calls

Frequently Asked Questions

What does test_summarization_middleware_summary_creation() do?
test_summarization_middleware_summary_creation() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py.
Where is test_summarization_middleware_summary_creation() defined?
test_summarization_middleware_summary_creation() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_summarization.py at line 171.
What does test_summarization_middleware_summary_creation() call?
test_summarization_middleware_summary_creation() calls 1 function(s): invoke.

Analyze Your Own Codebase

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

Try Supermodel Free