#[non_exhaustive]pub enum CompactionStrategy {
SlidingWindow {
keep_recent_turns: usize,
},
TokenBudget {
max_tokens: usize,
keep_recent_turns: usize,
},
}Expand description
How to compact. All strategies drop the oldest turns and keep at least
CompactionConfig::min_recent_turns recent ones.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
SlidingWindow
Keep only the most recent keep_recent_turns steps (sliding window).
TokenBudget
Drop the oldest steps until the estimated token footprint is within
max_tokens, but never below keep_recent_turns steps.
Trait Implementations§
Source§impl Clone for CompactionStrategy
impl Clone for CompactionStrategy
Source§fn clone(&self) -> CompactionStrategy
fn clone(&self) -> CompactionStrategy
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 CompactionStrategy
impl RefUnwindSafe for CompactionStrategy
impl Send for CompactionStrategy
impl Sync for CompactionStrategy
impl Unpin for CompactionStrategy
impl UnsafeUnpin for CompactionStrategy
impl UnwindSafe for CompactionStrategy
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