pub struct Usage {
pub prompt_tokens: u32,
pub completion_tokens: u32,
pub total_tokens: u32,
pub reasoning_tokens: Option<u32>,
pub prompt_cached_tokens: Option<u32>,
pub prompt_cache_creation_tokens: Option<u32>,
pub completion_reasoning_tokens: Option<u32>,
pub prompt_tokens_details: Option<PromptTokensDetails>,
pub completion_tokens_details: Option<CompletionTokensDetails>,
}Expand description
Usage statistics that can deserialize from both OpenAI and Anthropic formats.
OpenAI uses prompt_tokens/completion_tokens, while Anthropic uses
input_tokens/output_tokens. The serde aliases allow this struct to
deserialize from either format automatically.
Fields§
§prompt_tokens: u32§completion_tokens: u32§total_tokens: u32§reasoning_tokens: Option<u32>§prompt_cached_tokens: Option<u32>§prompt_cache_creation_tokens: Option<u32>§completion_reasoning_tokens: Option<u32>§prompt_tokens_details: Option<PromptTokensDetails>§completion_tokens_details: Option<CompletionTokensDetails>Implementations§
Source§impl Usage
impl Usage
Sourcepub fn from_metrics(metrics: UsageMetrics) -> Option<Self>
pub fn from_metrics(metrics: UsageMetrics) -> Option<Self>
Create a Usage from UsageMetrics, returning None if no metrics are present.
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