Skip to main content

Compactor

Trait Compactor 

Source
pub trait Compactor: Send + Sync {
    // Required method
    fn compact<'a>(
        &'a self,
        messages: &'a [Message],
        instruction: Option<&'a str>,
    ) -> Pin<Box<dyn Future<Output = Result<CompactedContext, CompactionError>> + Send + 'a>>;

    // Provided method
    fn estimate_tokens(&self, messages: &[Message]) -> usize { ... }
}
Expand description

Trait for context compaction implementations

Required Methods§

Source

fn compact<'a>( &'a self, messages: &'a [Message], instruction: Option<&'a str>, ) -> Pin<Box<dyn Future<Output = Result<CompactedContext, CompactionError>> + Send + 'a>>

Compact messages, returning a summary and kept messages

Provided Methods§

Source

fn estimate_tokens(&self, messages: &[Message]) -> usize

Estimate the token count of messages

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§