pub struct Usage {
pub prompt_tokens: Option<u64>,
pub completion_tokens: Option<u64>,
pub thoughts_tokens: Option<u64>,
pub total_tokens: Option<u64>,
pub cost_usd: Option<f64>,
pub cache_read_input_tokens: Option<u64>,
pub cache_creation_input_tokens: Option<u64>,
}Expand description
Token usage statistics from an LLM API response.
Uses u64 for token counts to handle large values consistently
across different platforms and avoid truncation.
Fields§
§prompt_tokens: Option<u64>§completion_tokens: Option<u64>§thoughts_tokens: Option<u64>§total_tokens: Option<u64>§cost_usd: Option<f64>§cache_read_input_tokens: Option<u64>Prompt tokens read from the provider’s prompt cache. Included in
prompt_tokens.
cache_creation_input_tokens: Option<u64>Prompt tokens written to the provider’s prompt cache. Included in
prompt_tokens.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Usage
impl<'de> Deserialize<'de> for Usage
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
Auto Trait Implementations§
impl Freeze for Usage
impl RefUnwindSafe for Usage
impl Send for Usage
impl Sync for Usage
impl Unpin for Usage
impl UnsafeUnpin for Usage
impl UnwindSafe for Usage
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