pub struct ContextCompressor {
pub strategy: CompressionStrategy,
pub max_context_tokens: usize,
}Expand description
Applies a CompressionStrategy to a slice of messages.
Fields§
§strategy: CompressionStrategyThe strategy to apply.
max_context_tokens: usizeHard upper bound on total tokens across all kept messages.
Implementations§
Source§impl ContextCompressor
impl ContextCompressor
Sourcepub fn new(strategy: CompressionStrategy, max_context_tokens: usize) -> Self
pub fn new(strategy: CompressionStrategy, max_context_tokens: usize) -> Self
Create a new compressor with the given strategy and token budget.
Sourcepub fn compress(
&self,
messages: &[Message],
) -> (Vec<Message>, CompressionResult)
pub fn compress( &self, messages: &[Message], ) -> (Vec<Message>, CompressionResult)
Apply the compression strategy to messages and return the retained
messages together with a CompressionResult summary.
Trait Implementations§
Source§impl Clone for ContextCompressor
impl Clone for ContextCompressor
Source§fn clone(&self) -> ContextCompressor
fn clone(&self) -> ContextCompressor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ContextCompressor
impl RefUnwindSafe for ContextCompressor
impl Send for ContextCompressor
impl Sync for ContextCompressor
impl Unpin for ContextCompressor
impl UnsafeUnpin for ContextCompressor
impl UnwindSafe for ContextCompressor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request