Nous.Plugins.Summarization (nous v0.13.3)
View SourcePlugin for managing context window size via conversation summarization.
When the conversation exceeds a configurable token threshold, this plugin summarizes older messages to free up context space while preserving important information.
Usage
agent = Agent.new("openai:gpt-4",
plugins: [Nous.Plugins.Summarization],
deps: %{
summarization_config: %{
max_context_tokens: 170_000,
keep_recent: 10,
summary_model: "openai:gpt-4o-mini"
}
}
)Configuration (via deps)
:max_context_tokens- Token threshold to trigger summarization (default: 100_000):keep_recent- Number of recent messages to keep intact (default: 10):summary_model- Model string for summarization calls (default: uses same model)
Safety
- Never splits tool_call/tool_result pairs
- Keeps system prompt intact
- Falls back to keeping all messages if summarization fails