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_candidate_plan;
pub use compression_tooling::build_forced_compression_candidate_plan_with_fixed_tokens;
pub use compression_tooling::build_forced_compression_plan_with_summary;
pub use compression_tooling::build_message_summary_candidate_plan_with_fixed_tokens;
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::estimate_context_compression_exposure_with_fixed_tokens;
pub use compression_tooling::finalize_compression_candidate_plan;
pub use compression_tooling::normalized_summary_target_ratio;
pub use compression_tooling::normalized_trigger_percent;
pub use compression_tooling::summary_source_messages;
pub use compression_tooling::CompressionCandidatePlan;
pub use compression_tooling::CompressionPlan;
pub use compression_tooling::CompressionPlanError;
pub use compression_tooling::ContextCompressionExposure;
pub use compression_tooling::DEFAULT_SUMMARY_TARGET_RATIO;
pub use counter::HeuristicTokenCounter;
pub use counter::ProviderVisibleToolEstimate;
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::estimate_prompt_cache_savings_with_fixed_tokens;
pub use preparation::prepare_hybrid_context;
pub use preparation::prepare_hybrid_context_with_fixed_tokens;
pub use retrieval_window::apply_retrieval_window_plan;
pub use retrieval_window::apply_retrieval_window_plan_with_trigger;
pub use retrieval_window::build_retrieval_window_candidate_plan;
pub use retrieval_window::build_retrieval_window_candidate_plan_with_fixed_tokens;
pub use retrieval_window::build_retrieval_window_candidate_plan_with_token_accounting;
pub use retrieval_window::build_retrieval_window_critical_overflow_plan_with_token_accounting;
pub use retrieval_window::effective_retrieval_window_target_tokens;
pub use retrieval_window::RetrievalWindowApplyError;
pub use retrieval_window::RetrievalWindowApplyResult;
pub use retrieval_window::RetrievalWindowCandidatePlan;
pub use retrieval_window::RetrievalWindowPlanError;
pub use retrieval_window::RetrievalWindowPolicy;
pub use retrieval_window::RetrievalWindowTokenAccounting;
pub use segmenter::MessageSegmenter;
pub use summarizer::HeuristicSummarizer;
pub use summarizer::Summarizer;
pub use summarizer::SummaryManager;
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.
retrieval_window
Pure candidate planning for retrieval-window context 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