pub struct CacheRates {
pub input: f64,
pub cached_read: f64,
pub cache_write: f64,
pub storage_per_hour: f64,
}Expand description
Prices of one model and tier, in USD per 1M tokens (storage: per 1M
token-hours). The built-in catalog’s Pricing
holds the input, cached-read and cache-write prices of the models it
lists, but no storage price. A provider without a separate write price
bills writes at input; one without storage leaves storage_per_hour
at zero.
use rig_core::completion::CacheRates;
// A 5-minute cache write at 1.25 times the input price, reads at a tenth.
let rates = CacheRates { input: 3.0, cached_read: 0.3, cache_write: 3.75, storage_per_hour: 0.0 };Fields§
§input: f64Uncached input.
cached_read: f64Input read from a cache.
cache_write: f64Input written to a cache, or put into a cache resource.
storage_per_hour: f64Storing one token for one hour, for providers that bill cache storage.
Trait Implementations§
Source§impl Clone for CacheRates
impl Clone for CacheRates
impl Copy for CacheRates
Source§impl Debug for CacheRates
impl Debug for CacheRates
Source§impl Default for CacheRates
impl Default for CacheRates
Source§impl<'de> Deserialize<'de> for CacheRates
impl<'de> Deserialize<'de> for CacheRates
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
Source§impl PartialEq for CacheRates
impl PartialEq for CacheRates
Source§impl Serialize for CacheRates
impl Serialize for CacheRates
impl StructuralPartialEq for CacheRates
Auto Trait Implementations§
impl Freeze for CacheRates
impl RefUnwindSafe for CacheRates
impl Send for CacheRates
impl Sync for CacheRates
impl Unpin for CacheRates
impl UnsafeUnpin for CacheRates
impl UnwindSafe for CacheRates
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreSource§impl<T> IntoToolOutput for Twhere
T: Serialize + 'static,
impl<T> IntoToolOutput for Twhere
T: Serialize + 'static,
Source§fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
fn into_tool_output(self) -> Result<ToolOutput, ToolExecutionError>
Convert this value without routing structured data through a string.