pub struct BpeApproxTokenizer {
pub family: TokenizerFamily,
}Expand description
BPE-approximation tokeniser parameterised by family.
Fields§
§family: TokenizerFamilyThe tokeniser family controlling the chars-per-token ratio.
Implementations§
Source§impl BpeApproxTokenizer
impl BpeApproxTokenizer
Sourcepub fn count_tokens(text: &str, family: &TokenizerFamily) -> usize
pub fn count_tokens(text: &str, family: &TokenizerFamily) -> usize
Approximate token count for text using family-specific heuristics.
The heuristic:
- Compute a base count from
chars / chars_per_token. - Add +1 token per punctuation run (commas, periods, etc.).
- Adjust for runs of digits (numbers tokenise more densely).
- Adjust for leading/trailing whitespace overhead.
Sourcepub fn estimate_output_tokens(input_tokens: usize, task_hint: &str) -> usize
pub fn estimate_output_tokens(input_tokens: usize, task_hint: &str) -> usize
Estimate output tokens given input token count and a task hint.
The ratios are empirical defaults; callers should tune for their workload.
Sourcepub fn split_into_chunks(
text: &str,
max_tokens: usize,
overlap: usize,
family: &TokenizerFamily,
) -> Vec<String>
pub fn split_into_chunks( text: &str, max_tokens: usize, overlap: usize, family: &TokenizerFamily, ) -> Vec<String>
Split text into chunks of at most max_tokens tokens, with overlap
tokens of context carried forward between chunks.
Chunks are split at sentence boundaries (., !, ?) where possible
to preserve semantic coherence.
Sourcepub fn fits_in_context(
text: &str,
model: &str,
context_window: usize,
family: &TokenizerFamily,
) -> bool
pub fn fits_in_context( text: &str, model: &str, context_window: usize, family: &TokenizerFamily, ) -> bool
Return true if text fits within context_window tokens for model.
Trait Implementations§
Source§impl Clone for BpeApproxTokenizer
impl Clone for BpeApproxTokenizer
Source§fn clone(&self) -> BpeApproxTokenizer
fn clone(&self) -> BpeApproxTokenizer
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 BpeApproxTokenizer
impl RefUnwindSafe for BpeApproxTokenizer
impl Send for BpeApproxTokenizer
impl Sync for BpeApproxTokenizer
impl Unpin for BpeApproxTokenizer
impl UnsafeUnpin for BpeApproxTokenizer
impl UnwindSafe for BpeApproxTokenizer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request