pub enum Encoding {
Cl100kBase,
O200kBase,
LlamaBpe,
Heuristic,
}Expand description
Tokenizer encoding type
Different models use different tokenizers. The encoding type determines which tokenizer to use for accurate token counting.
Variants§
Cl100kBase
OpenAI cl100k_base encoding (GPT-3.5, GPT-4) - via tiktoken
O200kBase
OpenAI o200k_base encoding (GPT-4o, o1, o3) - via tiktoken
LlamaBpe
Llama-style BPE tokenizer (Llama, Mistral, and derivatives)
Heuristic
Heuristic fallback (~4 characters per token)
Implementations§
Source§impl Encoding
impl Encoding
Sourcepub fn infer_from_id(id: &str) -> Self
pub fn infer_from_id(id: &str) -> Self
Infer encoding from model ID
§Examples
use m2m::models::Encoding;
assert_eq!(Encoding::infer_from_id("openai/gpt-4o"), Encoding::O200kBase);
assert_eq!(Encoding::infer_from_id("openai/gpt-4"), Encoding::Cl100kBase);
assert_eq!(Encoding::infer_from_id("meta-llama/llama-3.1-70b"), Encoding::LlamaBpe);Trait Implementations§
Source§impl<'de> Deserialize<'de> for Encoding
impl<'de> Deserialize<'de> for Encoding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Encoding
impl Eq for Encoding
impl StructuralPartialEq for Encoding
Auto Trait Implementations§
impl Freeze for Encoding
impl RefUnwindSafe for Encoding
impl Send for Encoding
impl Sync for Encoding
impl Unpin for Encoding
impl UnwindSafe for Encoding
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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