Skip to main content

Crate bamboo_compression

Crate bamboo_compression 

Source
Expand description

Token budget management for LLM conversations.

This module provides token budget management to prevent context window overflow while maintaining conversation continuity. It implements a hybrid approach combining rolling summary with recent message windowing.

§Key Components

  • types: Core types like TokenBudget, BudgetStrategy, PreparedContext
  • counter: Token counting via BPE tokenizer (tiktoken) or heuristic estimation
  • segmenter: Message segmentation preserving tool-call atomicity
  • limits: Model context window limits registry
  • preparation: Context preparation with budget enforcement
  • summarizer: Conversation summarization for context preservation

Re-exports§

pub use compression_tooling::active_messages_for_budget;
pub use compression_tooling::apply_compression_plan;
pub use compression_tooling::build_compression_plan_with_summary;
pub use compression_tooling::build_forced_compression_plan_with_summary;
pub use compression_tooling::build_summary_prompt;
pub use compression_tooling::compression_summary_message;
pub use compression_tooling::context_window_usage_percent;
pub use compression_tooling::estimate_context_compression_exposure;
pub use compression_tooling::normalized_trigger_percent;
pub use compression_tooling::summary_source_messages;
pub use compression_tooling::CompressionPlan;
pub use compression_tooling::CompressionPlanError;
pub use compression_tooling::ContextCompressionExposure;
pub use counter::HeuristicTokenCounter;
pub use counter::TiktokenTokenCounter;
pub use counter::TokenCounter;
pub use limits::create_budget_for_model;
pub use limits::ModelLimitsRegistry;
pub use preparation::estimate_prompt_cache_savings;
pub use preparation::prepare_hybrid_context;
pub use segmenter::MessageSegmenter;
pub use summarizer::HeuristicSummarizer;
pub use summarizer::LlmSummarizer;
pub use summarizer::Summarizer;
pub use summarizer::SummaryManager;
pub use summarizer::SummaryMode;
pub use summarizer::SummaryTrigger;
pub use types::BudgetError;
pub use types::PreparedContext;

Modules§

compression_tooling
counter
Token counting for budget management.
limits
Model context window limits registry.
preparation
Context preparation for budget management.
segmenter
Message segmentation for budget management.
summarizer
Conversation summarization for rolling context management.
types
Core types for token budget management.

Structs§

TokenBudget
Token budget configuration for a conversation.
TokenUsageBreakdown
Detailed token usage breakdown.

Enums§

BudgetStrategy