pub struct RoutingRuleConfig {
pub inherit_defaults: bool,
pub signals: HashMap<String, SignalConfig>,
pub complexity: ComplexityConfig,
pub models: HashMap<String, String>,
}Expand description
Configuration for a content-based auto-routing rule.
When a request targets the trigger model name (the key in the routing
map), the router inspects message content to detect keyword signals and
estimate complexity, then selects a concrete model from the models map.
Fields§
§inherit_defaults: boolWhen true (the default), built-in signal definitions are merged
before user-defined signals. User signals with the same name
override the built-in version.
signals: HashMap<String, SignalConfig>User-defined keyword signals, merged on top of built-ins.
complexity: ComplexityConfigComplexity estimation heuristics. When omitted, built-in defaults
are used (if inherit_defaults is true).
models: HashMap<String, String>Maps signal[.complexity] → model name.
Lookup order: "{signal}.{complexity}" → "{signal}" → "default".
Target model names must exist in the top-level models section.
Trait Implementations§
Source§impl Clone for RoutingRuleConfig
impl Clone for RoutingRuleConfig
Source§fn clone(&self) -> RoutingRuleConfig
fn clone(&self) -> RoutingRuleConfig
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 RoutingRuleConfig
impl Debug for RoutingRuleConfig
Source§impl Default for RoutingRuleConfig
impl Default for RoutingRuleConfig
Source§fn default() -> RoutingRuleConfig
fn default() -> RoutingRuleConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for RoutingRuleConfig
impl<'de> Deserialize<'de> for RoutingRuleConfig
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
Auto Trait Implementations§
impl Freeze for RoutingRuleConfig
impl RefUnwindSafe for RoutingRuleConfig
impl Send for RoutingRuleConfig
impl Sync for RoutingRuleConfig
impl Unpin for RoutingRuleConfig
impl UnsafeUnpin for RoutingRuleConfig
impl UnwindSafe for RoutingRuleConfig
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<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>
Converts
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>
Converts
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