use lazy_static::lazy_static;
use crate::vendor_tiktoken::CoreBPE;
use crate::{cl100k_base, o200k_base, o200k_harmony, p50k_base, p50k_edit, r50k_base};
pub fn r50k_base_singleton() -> &'static CoreBPE {
lazy_static! {
static ref R50K_BASE: CoreBPE = r50k_base().unwrap();
}
&R50K_BASE
}
pub fn p50k_base_singleton() -> &'static CoreBPE {
lazy_static! {
static ref P50K_BASE: CoreBPE = p50k_base().unwrap();
}
&P50K_BASE
}
pub fn p50k_edit_singleton() -> &'static CoreBPE {
lazy_static! {
static ref P50K_EDIT: CoreBPE = p50k_edit().unwrap();
}
&P50K_EDIT
}
pub fn cl100k_base_singleton() -> &'static CoreBPE {
lazy_static! {
static ref CL100K_BASE: CoreBPE = cl100k_base().unwrap();
}
&CL100K_BASE
}
pub fn o200k_base_singleton() -> &'static CoreBPE {
lazy_static! {
static ref O200K_BASE: CoreBPE = o200k_base().unwrap();
}
&O200K_BASE
}
pub fn o200k_harmony_singleton() -> &'static CoreBPE {
lazy_static! {
static ref O200K_HARMONY: CoreBPE = o200k_harmony().unwrap();
}
&O200K_HARMONY
}