pub struct ModelProfile {
pub id: String,
pub cost_per_1k_tokens: f64,
pub avg_latency_ms: f64,
pub quality_score: f64,
pub max_context_tokens: usize,
pub supports_streaming: bool,
pub supports_tools: bool,
}Expand description
Static description of a model’s cost, performance, and capability profile.
Fields§
§id: StringUnique model identifier (e.g. "claude-3-haiku", "gpt-4o").
cost_per_1k_tokens: f64Cost in USD per 1 000 tokens (blended input + output, or input-only if
that is the pricing model; callers can always override via estimate_cost).
avg_latency_ms: f64Average observed or documented end-to-end latency in milliseconds.
quality_score: f64Normalised quality score in [0, 1] (e.g. from benchmark results).
max_context_tokens: usizeMaximum context window size in tokens.
supports_streaming: boolWhether the model supports streaming token output.
supports_tools: boolWhether the model supports function / tool calling.
Trait Implementations§
Source§impl Clone for ModelProfile
impl Clone for ModelProfile
Source§fn clone(&self) -> ModelProfile
fn clone(&self) -> ModelProfile
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 ModelProfile
impl RefUnwindSafe for ModelProfile
impl Send for ModelProfile
impl Sync for ModelProfile
impl Unpin for ModelProfile
impl UnsafeUnpin for ModelProfile
impl UnwindSafe for ModelProfile
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