Home / Function/ _should_summarize_based_on_reported_tokens() — langchain Function Reference

_should_summarize_based_on_reported_tokens() — langchain Function Reference

Architecture documentation for the _should_summarize_based_on_reported_tokens() function in summarization.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  1f36e1d8_d79f_04de_8d83_5c3eb9e13b2e["_should_summarize_based_on_reported_tokens()"]
  a622f56b_f697_966d_5bc7_095699ccca34["SummarizationMiddleware"]
  1f36e1d8_d79f_04de_8d83_5c3eb9e13b2e -->|defined in| a622f56b_f697_966d_5bc7_095699ccca34
  bbfcb116_81e5_842d_5e50_6e8f55a69bc4["_should_summarize()"]
  bbfcb116_81e5_842d_5e50_6e8f55a69bc4 -->|calls| 1f36e1d8_d79f_04de_8d83_5c3eb9e13b2e
  style 1f36e1d8_d79f_04de_8d83_5c3eb9e13b2e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/langchain/agents/middleware/summarization.py lines 368–385

    def _should_summarize_based_on_reported_tokens(
        self, messages: list[AnyMessage], threshold: float
    ) -> bool:
        """Check if reported token usage from last AIMessage exceeds threshold."""
        last_ai_message = next(
            (msg for msg in reversed(messages) if isinstance(msg, AIMessage)),
            None,
        )
        if (  # noqa: SIM103
            isinstance(last_ai_message, AIMessage)
            and last_ai_message.usage_metadata is not None
            and (reported_tokens := last_ai_message.usage_metadata.get("total_tokens", -1))
            and reported_tokens >= threshold
            and (message_provider := last_ai_message.response_metadata.get("model_provider"))
            and message_provider == self.model._get_ls_params().get("ls_provider")  # noqa: SLF001
        ):
            return True
        return False

Domain

Subdomains

Frequently Asked Questions

What does _should_summarize_based_on_reported_tokens() do?
_should_summarize_based_on_reported_tokens() is a function in the langchain codebase, defined in libs/langchain_v1/langchain/agents/middleware/summarization.py.
Where is _should_summarize_based_on_reported_tokens() defined?
_should_summarize_based_on_reported_tokens() is defined in libs/langchain_v1/langchain/agents/middleware/summarization.py at line 368.
What calls _should_summarize_based_on_reported_tokens()?
_should_summarize_based_on_reported_tokens() is called by 1 function(s): _should_summarize.

Analyze Your Own Codebase

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

Try Supermodel Free