pub struct TokenUsage {
pub prompt_tokens: usize,
pub completion_tokens: usize,
pub total_tokens: usize,
pub cached_tokens: Option<usize>,
pub image_tokens: Option<usize>,
}
Expand description
Token usage information with detailed breakdown
Fields§
§prompt_tokens: usize
Input/prompt tokens
completion_tokens: usize
Output/completion tokens
total_tokens: usize
Total tokens used
cached_tokens: Option<usize>
Cached tokens (if applicable)
image_tokens: Option<usize>
Tokens from images (if applicable)
Implementations§
Source§impl TokenUsage
impl TokenUsage
Sourcepub fn with_cached_tokens(self, cached_tokens: usize) -> Self
pub fn with_cached_tokens(self, cached_tokens: usize) -> Self
Add cached tokens
Sourcepub fn with_image_tokens(self, image_tokens: usize) -> Self
pub fn with_image_tokens(self, image_tokens: usize) -> Self
Add image tokens
Sourcepub fn add(&mut self, other: &TokenUsage)
pub fn add(&mut self, other: &TokenUsage)
Add to existing usage
Sourcepub fn estimate_cost(
&self,
input_cost_per_1k: f64,
output_cost_per_1k: f64,
) -> f64
pub fn estimate_cost( &self, input_cost_per_1k: f64, output_cost_per_1k: f64, ) -> f64
Calculate cost estimate (in USD)
Trait Implementations§
Source§impl Clone for TokenUsage
impl Clone for TokenUsage
Source§fn clone(&self) -> TokenUsage
fn clone(&self) -> TokenUsage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TokenUsage
impl Debug 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 Eq 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 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.