Skip to main content

TokenUsage

Struct TokenUsage 

Source
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: u32

Prompt 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

Source

pub fn new( prompt_tokens: u32, completion_tokens: u32, total_tokens: u32, ) -> Self

Source

pub fn with_service_tier(self, service_tier: Option<String>) -> Self

Source

pub fn with_cached_prompt_tokens(self, cached_prompt_tokens: u32) -> Self

Source

pub fn with_cache_creation_prompt_tokens( self, cache_creation_prompt_tokens: u32, ) -> Self

Source

pub fn add_assign(&mut self, usage: &TokenUsage)

Source

pub fn is_empty(&self) -> bool

Trait Implementations§

Source§

impl Clone for TokenUsage

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TokenUsage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TokenUsage

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for TokenUsage

Source§

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

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for TokenUsage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TokenUsage

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.