Home / Function/ _create_summary() — langchain Function Reference

_create_summary() — langchain Function Reference

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

Function python LangChainCore Runnables calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  40a663ff_b47c_1a50_7cb4_9d28251f14e6["_create_summary()"]
  a622f56b_f697_966d_5bc7_095699ccca34["SummarizationMiddleware"]
  40a663ff_b47c_1a50_7cb4_9d28251f14e6 -->|defined in| a622f56b_f697_966d_5bc7_095699ccca34
  833a9d39_5a26_a8d9_09c7_26020ad85079["before_model()"]
  833a9d39_5a26_a8d9_09c7_26020ad85079 -->|calls| 40a663ff_b47c_1a50_7cb4_9d28251f14e6
  de004c44_050e_9adb_f197_5b68cb102a9e["_trim_messages_for_summary()"]
  40a663ff_b47c_1a50_7cb4_9d28251f14e6 -->|calls| de004c44_050e_9adb_f197_5b68cb102a9e
  style 40a663ff_b47c_1a50_7cb4_9d28251f14e6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/langchain/agents/middleware/summarization.py lines 588–612

    def _create_summary(self, messages_to_summarize: list[AnyMessage]) -> str:
        """Generate summary for the given messages.

        Args:
            messages_to_summarize: Messages to summarize.
        """
        if not messages_to_summarize:
            return "No previous conversation history."

        trimmed_messages = self._trim_messages_for_summary(messages_to_summarize)
        if not trimmed_messages:
            return "Previous conversation was too long to summarize."

        # Format messages to avoid token inflation from metadata when str() is called on
        # message objects
        formatted_messages = get_buffer_string(trimmed_messages)

        try:
            response = self.model.invoke(
                self.summary_prompt.format(messages=formatted_messages).rstrip(),
                config={"metadata": {"lc_source": "summarization"}},
            )
            return response.text.strip()
        except Exception as e:
            return f"Error generating summary: {e!s}"

Domain

Subdomains

Called By

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free