Skip to main content

Module compress

Module compress 

Source

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 (cost-effective).
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 compression implementations.

Functions§

build_summary_prompt
Build a prompt for AI-based summarization.
compress_messages
Compress messages synchronously (for non-AI strategies).
compress_messages_with_ai
Compress messages with AI summarization (async version).
compress_with_bias
Compress messages with bias - prioritized removal based on configuration.
estimate_tokens
Estimate token count for a message (improved approximation). For mixed content (code, Chinese, English), use a weighted estimate:
estimate_total_tokens
Estimate total tokens for a message list.
format_tokens
should_compress
Check if compression should be triggered.