pub enum TruncationStrategy {
TruncateLeft,
TruncateRight,
SlidingWindow,
Summarize,
}Expand description
Strategy for handling context that exceeds the maximum token budget.
Variants§
TruncateLeft
Drop oldest conversation tokens (default). System prompt is never removed.
TruncateRight
Drop newest conversation tokens. System prompt is never removed.
SlidingWindow
Keep system prompt plus the most recent conversation tokens.
In practice identical to TruncateLeft for system-prompt-first layouts.
Summarize
Placeholder for future LLM-based summarisation. Falls back to TruncateLeft.
Trait Implementations§
Source§impl Clone for TruncationStrategy
impl Clone for TruncationStrategy
Source§fn clone(&self) -> TruncationStrategy
fn clone(&self) -> TruncationStrategy
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 moreSource§impl Debug for TruncationStrategy
impl Debug for TruncationStrategy
Source§impl PartialEq for TruncationStrategy
impl PartialEq for TruncationStrategy
Source§fn eq(&self, other: &TruncationStrategy) -> bool
fn eq(&self, other: &TruncationStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for TruncationStrategy
impl Eq for TruncationStrategy
impl StructuralPartialEq for TruncationStrategy
Auto Trait Implementations§
impl Freeze for TruncationStrategy
impl RefUnwindSafe for TruncationStrategy
impl Send for TruncationStrategy
impl Sync for TruncationStrategy
impl Unpin for TruncationStrategy
impl UnsafeUnpin for TruncationStrategy
impl UnwindSafe for TruncationStrategy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more