pub struct TokenUsage {
pub prompt_tokens: u32,
pub completion_tokens: u32,
pub total_tokens: u32,
pub cached_prompt_tokens: u32,
pub cache_creation_prompt_tokens: u32,
pub cache_hit_rate: Option<f64>,
pub service_tier: Option<String>,
}Fields§
§prompt_tokens: u32§completion_tokens: u32§total_tokens: u32§cached_prompt_tokens: u32§cache_creation_prompt_tokens: u32Prompt tokens written to the provider’s prompt cache this step. Like
cached_prompt_tokens, this is a subset of prompt_tokens, not an
additional count; hosts use it to bill cache writes at the provider’s
cache-write rate.
cache_hit_rate: Option<f64>§service_tier: Option<String>Service tier the provider reports it actually served this step with
(OpenAI response.service_tier). A request for a faster tier may be
downgraded under load and reported here as "default", which is what
the step is billed at. None when the provider did not report one.
When usage is aggregated with add_assign, the most recently reported
tier wins; consumers needing per-step precision read per-step usage.
Implementations§
Source§impl TokenUsage
impl TokenUsage
pub fn new( prompt_tokens: u32, completion_tokens: u32, total_tokens: u32, ) -> Self
pub fn with_service_tier(self, service_tier: Option<String>) -> Self
pub fn with_cached_prompt_tokens(self, cached_prompt_tokens: u32) -> Self
pub fn with_cache_creation_prompt_tokens( self, cache_creation_prompt_tokens: u32, ) -> Self
pub fn add_assign(&mut self, usage: &TokenUsage)
pub fn is_empty(&self) -> bool
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 PartialEq for TokenUsage
impl PartialEq for TokenUsage
Source§impl Serialize for TokenUsage
impl Serialize for TokenUsage
impl StructuralPartialEq for TokenUsage
Auto Trait Implementations§
impl Freeze 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