pub struct RouterConfig {
pub default_profile: String,
pub classifier_model: Option<String>,
pub context_upgrade_threshold: Option<usize>,
pub max_session_budget: Option<f64>,
pub profiles: HashMap<String, RouterProfile>,
pub weights: ScoringWeights,
pub pin_tier: Option<RouterTier>,
pub phase_bias: Option<f64>,
}Expand description
Top-level router configuration.
Fields§
§default_profile: StringDefault profile name to use.
classifier_model: Option<String>Optional classifier model for LLM-based routing.
context_upgrade_threshold: Option<usize>Context token threshold that triggers automatic upgrade.
max_session_budget: Option<f64>Maximum session budget in dollars (optional).
profiles: HashMap<String, RouterProfile>Named routing profiles.
weights: ScoringWeightsScoring weights.
pin_tier: Option<RouterTier>Pinned tier (manual override).
phase_bias: Option<f64>Phase bias: 0 = immediate tier switching, 1 = extreme stickiness.
Implementations§
Source§impl RouterConfig
impl RouterConfig
Sourcepub fn new(
default_profile: String,
classifier_model: Option<String>,
context_upgrade_threshold: Option<usize>,
max_session_budget: Option<f64>,
profiles: HashMap<String, RouterProfile>,
weights: ScoringWeights,
) -> Self
pub fn new( default_profile: String, classifier_model: Option<String>, context_upgrade_threshold: Option<usize>, max_session_budget: Option<f64>, profiles: HashMap<String, RouterProfile>, weights: ScoringWeights, ) -> Self
Construct a basic router config (no pin/phase_bias).
Sourcepub fn with_pinning(
default_profile: String,
classifier_model: Option<String>,
context_upgrade_threshold: Option<usize>,
max_session_budget: Option<f64>,
profiles: HashMap<String, RouterProfile>,
weights: ScoringWeights,
pin_tier: Option<RouterTier>,
phase_bias: Option<f64>,
) -> Self
pub fn with_pinning( default_profile: String, classifier_model: Option<String>, context_upgrade_threshold: Option<usize>, max_session_budget: Option<f64>, profiles: HashMap<String, RouterProfile>, weights: ScoringWeights, pin_tier: Option<RouterTier>, phase_bias: Option<f64>, ) -> Self
Construct with full config including pin_tier and phase_bias.
Trait Implementations§
Source§impl Clone for RouterConfig
impl Clone for RouterConfig
Source§fn clone(&self) -> RouterConfig
fn clone(&self) -> RouterConfig
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 moreSource§impl Debug for RouterConfig
impl Debug for RouterConfig
Source§impl Default for RouterConfig
impl Default for RouterConfig
Source§impl<'de> Deserialize<'de> for RouterConfig
impl<'de> Deserialize<'de> for RouterConfig
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 RouterConfig
impl RefUnwindSafe for RouterConfig
impl Send for RouterConfig
impl Sync for RouterConfig
impl Unpin for RouterConfig
impl UnsafeUnpin for RouterConfig
impl UnwindSafe for RouterConfig
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