pub struct TokenCounter { /* private fields */ }Expand description
Token counter for various models with caching
Implementations§
Source§impl TokenCounter
impl TokenCounter
Sourcepub fn new(model_name: &str) -> Result<Self>
pub fn new(model_name: &str) -> Result<Self>
Create a new token counter for the given model with caching
Sourcepub fn count_tokens(&self, text: &str) -> usize
pub fn count_tokens(&self, text: &str) -> usize
Count tokens in the given text with caching
Sourcepub fn estimate_chat_tokens(
&self,
prompt: &str,
system_prompt: Option<&str>,
history: &[ChatEntry],
) -> usize
pub fn estimate_chat_tokens( &self, prompt: &str, system_prompt: Option<&str>, history: &[ChatEntry], ) -> usize
Estimate tokens for a chat request including system prompt and history
Auto Trait Implementations§
impl Freeze for TokenCounter
impl !RefUnwindSafe for TokenCounter
impl Send for TokenCounter
impl Sync for TokenCounter
impl Unpin for TokenCounter
impl !UnwindSafe for TokenCounter
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 moreCreates a shared type from an unshared type.