pub struct IntentHint {
pub task: Option<TaskHint>,
pub require: Vec<ModelCapability>,
pub prefer_local: bool,
pub prefer_fast: bool,
}Expand description
Caller-supplied routing intent. All fields are optional / additive.
An IntentHint with default values matches the no-intent path
exactly, so threading Option<IntentHint> through is safe.
Fields§
§task: Option<TaskHint>What the caller is doing. None = let the router infer from the prompt as today.
require: Vec<ModelCapability>Hard filter — every required capability must be present on the candidate. Empty = no extra filter.
prefer_local: boolBias the score profile toward local models (cost over quality).
Internally this maps to RoutingWorkload::Background until the
follow-up split lands (parslee-ai/car#106).
prefer_fast: boolBias the score profile aggressively toward latency. Maps to
crate::tasks::RoutingWorkload::Fastest — a weight profile
that downweights quality and cost in favour of time-to-first-token.
Designed for voice turns where a sub-500ms first-audio target
beats a richer-but-slower answer. Takes precedence over
prefer_local; if both are set, the request is routed by
Fastest rules.
Trait Implementations§
Source§impl Clone for IntentHint
impl Clone for IntentHint
Source§fn clone(&self) -> IntentHint
fn clone(&self) -> IntentHint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntentHint
impl Debug for IntentHint
Source§impl Default for IntentHint
impl Default for IntentHint
Source§fn default() -> IntentHint
fn default() -> IntentHint
Source§impl<'de> Deserialize<'de> for IntentHint
impl<'de> Deserialize<'de> for IntentHint
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>,
Auto Trait Implementations§
impl Freeze for IntentHint
impl RefUnwindSafe for IntentHint
impl Send for IntentHint
impl Sync for IntentHint
impl Unpin for IntentHint
impl UnsafeUnpin for IntentHint
impl UnwindSafe for IntentHint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more