pub struct DecisionUsage {
pub input_tokens: u64,
pub output_tokens: u64,
}Expand description
Token usage reported by the provider.
§Examples
use ironflow_core::decision::DecisionUsage;
let usage = DecisionUsage { input_tokens: 312, output_tokens: 0 };
assert_eq!(usage.input_tokens, 312);Fields§
§input_tokens: u64Number of input tokens billed.
output_tokens: u64Number of output tokens (unmetered for System One models).
Implementations§
Source§impl DecisionUsage
impl DecisionUsage
Sourcepub fn cost_usd(&self) -> Decimal
pub fn cost_usd(&self) -> Decimal
The USD cost of this usage, imputed from input tokens at the Jev rate
(JEV_INPUT_USD_PER_MTOK).
Output tokens are unmetered for System One models, so they do not contribute to the cost.
§Examples
use ironflow_core::decision::DecisionUsage;
use rust_decimal::Decimal;
// 1_000_000 input tokens at $0.042 / M = $0.042.
let usage = DecisionUsage { input_tokens: 1_000_000, output_tokens: 0 };
assert_eq!(usage.cost_usd(), Decimal::try_from(0.042).unwrap());
assert_eq!(DecisionUsage::default().cost_usd(), Decimal::ZERO);Trait Implementations§
Source§impl Clone for DecisionUsage
impl Clone for DecisionUsage
Source§impl Debug for DecisionUsage
impl Debug for DecisionUsage
Source§impl Default for DecisionUsage
impl Default for DecisionUsage
Source§impl<'de> Deserialize<'de> for DecisionUsage
impl<'de> Deserialize<'de> for DecisionUsage
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
impl Eq for DecisionUsage
Source§impl PartialEq for DecisionUsage
impl PartialEq for DecisionUsage
Source§impl Serialize for DecisionUsage
impl Serialize for DecisionUsage
impl StructuralPartialEq for DecisionUsage
Auto Trait Implementations§
impl Freeze for DecisionUsage
impl RefUnwindSafe for DecisionUsage
impl Send for DecisionUsage
impl Sync for DecisionUsage
impl Unpin for DecisionUsage
impl UnsafeUnpin for DecisionUsage
impl UnwindSafe for DecisionUsage
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.