pub struct ModelCascade { /* private fields */ }Expand description
Automatic model downgrade cascade based on budget pressure thresholds.
Implementations§
Source§impl ModelCascade
impl ModelCascade
Sourcepub fn new(
tier: ModelTier,
pressure_threshold: f64,
total_budget: f64,
) -> Result<Self, BudgetError>
pub fn new( tier: ModelTier, pressure_threshold: f64, total_budget: f64, ) -> Result<Self, BudgetError>
Create a cascade starting at tier with the given pressure threshold.
Sourcepub fn evaluate(&mut self, remaining: f64) -> Option<ModelTier>
pub fn evaluate(&mut self, remaining: f64) -> Option<ModelTier>
Evaluate remaining budget and downgrade if under pressure. Returns Some(new_tier) if a downgrade occurred, None otherwise.
Sourcepub fn force_downgrade(&mut self) -> Option<ModelTier>
pub fn force_downgrade(&mut self) -> Option<ModelTier>
Force downgrade one tier. Returns the new tier, or None if already Local.
Trait Implementations§
Source§impl Clone for ModelCascade
impl Clone for ModelCascade
Auto Trait Implementations§
impl Freeze for ModelCascade
impl RefUnwindSafe for ModelCascade
impl Send for ModelCascade
impl Sync for ModelCascade
impl Unpin for ModelCascade
impl UnsafeUnpin for ModelCascade
impl UnwindSafe for ModelCascade
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