pub struct TokenUsage {
pub prompt_tokens: u32,
pub completion_tokens: u32,
pub total_tokens: u32,
pub cache_read_tokens: u32,
pub cache_creation_tokens: u32,
}Expand description
Token usage counts for a single completion request or turn.
Fields§
§prompt_tokens: u32Tokens consumed by the prompt (input messages).
completion_tokens: u32Tokens generated by the model (output/response).
total_tokens: u32Total tokens (prompt + completion).
cache_read_tokens: u32Prompt tokens served from the provider’s cache.
cache_creation_tokens: u32Prompt tokens written to the provider’s cache.
Implementations§
Source§impl TokenUsage
impl TokenUsage
Sourcepub fn cost(&self, pricing: &ModelPricing) -> Option<Decimal>
pub fn cost(&self, pricing: &ModelPricing) -> Option<Decimal>
Compute the cost of this usage given per-token pricing.
Non-cached input tokens are charged at the prompt rate, cached reads at
cache_read (falling back to prompt), and cache writes at cache_write
(falling back to prompt). Returns None if pricing has no prompt or
completion prices.
Trait Implementations§
Source§impl Clone for TokenUsage
impl Clone for TokenUsage
Source§impl Debug for TokenUsage
impl Debug for TokenUsage
Source§impl Default for TokenUsage
impl Default for TokenUsage
Source§impl<'de> Deserialize<'de> for TokenUsage
impl<'de> Deserialize<'de> for TokenUsage
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 From<TurnUsage> for TokenUsage
impl From<TurnUsage> for TokenUsage
Auto Trait Implementations§
impl Forget for TokenUsage
impl Freeze for TokenUsage
impl Move for TokenUsage
impl RefUnwindSafe for TokenUsage
impl Send for TokenUsage
impl Sync for TokenUsage
impl Unpin for TokenUsage
impl UnsafeUnpin for TokenUsage
impl UnwindSafe for TokenUsage
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