pub struct ProviderProfile {
pub name: String,
pub cost_per_1k_input_tokens: f64,
pub cost_per_1k_output_tokens: f64,
pub priority: u32,
}Expand description
Static profile for a single inference provider.
Fields§
§name: StringUnique name identifying this provider (e.g., "anthropic", "openai").
cost_per_1k_input_tokens: f64Cost in USD per 1 000 input tokens.
cost_per_1k_output_tokens: f64Cost in USD per 1 000 output tokens.
priority: u32Lower priority value = preferred when cost is equal. Use to break ties (e.g., prefer local vLLM over cloud at the same cost).
Implementations§
Source§impl ProviderProfile
impl ProviderProfile
Sourcepub fn estimate_cost(&self, input_tokens: u64, output_tokens: u64) -> f64
pub fn estimate_cost(&self, input_tokens: u64, output_tokens: u64) -> f64
Estimated total cost in USD for a request with the given token counts.
Trait Implementations§
Source§impl Clone for ProviderProfile
impl Clone for ProviderProfile
Source§fn clone(&self) -> ProviderProfile
fn clone(&self) -> ProviderProfile
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ProviderProfile
impl RefUnwindSafe for ProviderProfile
impl Send for ProviderProfile
impl Sync for ProviderProfile
impl Unpin for ProviderProfile
impl UnsafeUnpin for ProviderProfile
impl UnwindSafe for ProviderProfile
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request