Skip to main content

Module compress

Module compress 

Source
Expand description

Context compression for conversation history.

This module implements intelligent compression of conversation history to reduce token usage while preserving important information.

§Module Structure

  • config: Compression configuration and bias settings
  • types: Compression strategy, result, and segment types
  • compressor: AI compressor and compression functions

Structs§

AiCompressor
AI-based compressor using a Provider.
CompressionBias
Compression bias - controls what to prioritize during compression.
CompressionConfig
Configuration for context compression.
CompressionHistoryEntry
Compression history entry for session metadata.
CompressionResult
Result of a compression operation.
SummarizedSegment
A segment of conversation history that has been summarized.

Enums§

CompressionStrategy
Strategy for compressing conversation history.

Constants§

DEFAULT_COMPRESSION_THRESHOLD
Compression trigger threshold (percentage of context window).
DEFAULT_COMPRESSOR_MODEL
Default model for summarization.
DEFAULT_TARGET_RATIO
Target ratio after compression (keep this fraction of tokens).
MIN_MESSAGES_TO_KEEP
Minimum messages to keep after compression.

Traits§

Compressor
Compressor trait for different implementations.

Functions§

build_summary_prompt
Build a prompt for summarization.
compress_messages
Compress messages synchronously.
compress_with_bias
Compress with bias-based scoring.
estimate_tokens
Estimate token count for a message.
estimate_total_tokens
Estimate total tokens for a message list.
format_tokens
Format token count for display.
should_compress
Check if compression should be triggered.