pub struct ExactTokenCounter { /* private fields */ }Expand description
Exact token counter with BPE tokenization
In production, this would use tiktoken-rs or tokenizers crate. This implementation provides a sophisticated approximation.
Implementations§
Source§impl ExactTokenCounter
impl ExactTokenCounter
Sourcepub fn new(config: ExactTokenConfig) -> Self
pub fn new(config: ExactTokenConfig) -> Self
Create a new exact token counter
Sourcepub fn default_counter() -> Self
pub fn default_counter() -> Self
Create with default configuration
Sourcepub fn stats(&self) -> &Arc<TokenCacheStats>
pub fn stats(&self) -> &Arc<TokenCacheStats>
Get cache statistics
Trait Implementations§
Source§impl TokenCounter for ExactTokenCounter
impl TokenCounter for ExactTokenCounter
Source§fn count_for_model(&self, text: &str, model: TokenizerModel) -> usize
fn count_for_model(&self, text: &str, model: TokenizerModel) -> usize
Count tokens with model hint
Source§fn model(&self) -> TokenizerModel
fn model(&self) -> TokenizerModel
Get the model being used
Auto Trait Implementations§
impl Freeze for ExactTokenCounter
impl !RefUnwindSafe for ExactTokenCounter
impl Send for ExactTokenCounter
impl Sync for ExactTokenCounter
impl Unpin for ExactTokenCounter
impl UnsafeUnpin for ExactTokenCounter
impl !UnwindSafe for ExactTokenCounter
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