pub struct L1Cache { /* private fields */ }Expand description
L1 cache implementation with special-token-boundary prefix matching
Implementations§
Source§impl L1Cache
impl L1Cache
Sourcepub fn longest_prefix_match(
&self,
input: &str,
special_tokens: &[&str],
) -> Option<(Vec<TokenIdType>, usize)>
pub fn longest_prefix_match( &self, input: &str, special_tokens: &[&str], ) -> Option<(Vec<TokenIdType>, usize)>
Try to find the longest prefix match at special token boundaries Returns (cached_tokens, byte_offset) if found
Uses pre-computed tokens cached during insertion.
Returns Vec
Sourcepub fn insert_at_boundaries<E: Encoder + ?Sized>(
&self,
input: &str,
tokenizer: &E,
special_tokens: &[&str],
add_special_tokens: bool,
) -> Result<()>
pub fn insert_at_boundaries<E: Encoder + ?Sized>( &self, input: &str, tokenizer: &E, special_tokens: &[&str], add_special_tokens: bool, ) -> Result<()>
Insert prefix entries at ALL special token boundaries
Uses incremental hashing and tokenization for O(N) performance.
Optimized for workloads with high prefix reuse (e.g., chat templates with repeated system prompts).
Sourcepub fn stats(&self) -> L1CacheStats
pub fn stats(&self) -> L1CacheStats
Get cache statistics
Auto Trait Implementations§
impl !Freeze for L1Cache
impl !RefUnwindSafe for L1Cache
impl Send for L1Cache
impl Sync for L1Cache
impl Unpin for L1Cache
impl UnsafeUnpin for L1Cache
impl !UnwindSafe for L1Cache
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> 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