pub struct LlmModel {
pub name: &'static str,
pub provider: Provider,
pub context_window: &'static str,
pub input_per_1m: f64,
pub input_cached_per_1m: f64,
pub output_per_1m: f64,
pub chars_per_token: f64,
}Expand description
LLM Model definition with pricing
Fields§
§name: &'static strModel name (e.g., “GPT-5.2”, “Claude Sonnet 4”)
provider: ProviderProvider
context_window: &'static strContext window size (e.g., “400K”, “200K”, “1M”, “2M”)
input_per_1m: f64Price per 1M input tokens in USD
input_cached_per_1m: f64Price per 1M cached input tokens in USD
output_per_1m: f64Price per 1M output tokens in USD
chars_per_token: f64Characters per token ratio (for estimation)
Implementations§
Source§impl LlmModel
impl LlmModel
Sourcepub fn estimate_tokens(&self, text: &str) -> usize
pub fn estimate_tokens(&self, text: &str) -> usize
Estimate token count for given text
Sourcepub fn calculate_input_cost(&self, tokens: usize) -> f64
pub fn calculate_input_cost(&self, tokens: usize) -> f64
Calculate input cost for given token count
Sourcepub fn calculate_cached_cost(&self, tokens: usize) -> f64
pub fn calculate_cached_cost(&self, tokens: usize) -> f64
Calculate cached input cost for given token count
Sourcepub fn calculate_output_cost(&self, tokens: usize) -> f64
pub fn calculate_output_cost(&self, tokens: usize) -> f64
Calculate output cost for given token count
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LlmModel
impl RefUnwindSafe for LlmModel
impl Send for LlmModel
impl Sync for LlmModel
impl Unpin for LlmModel
impl UnsafeUnpin for LlmModel
impl UnwindSafe for LlmModel
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.