pub struct BudgetAwareConfig {
pub daily_budget_usd: f64,
pub queries_per_day: usize,
pub max_llm_cost_per_query: f64,
pub strategy: String,
pub fallback_to_algorithmic: bool,
}Expand description
Configuration for budget-aware LLM optimization strategy.
This strategy dynamically adjusts LLM usage based on budget constraints, query costs, and daily spending limits to ensure cost control.
Fields§
§daily_budget_usd: f64Daily budget limit in USD for LLM operations
queries_per_day: usizeMaximum number of queries allowed per day
max_llm_cost_per_query: f64Maximum LLM cost allowed per individual query
strategy: StringBudget management strategy (e.g., “throttle”, “degrade”, “stop”)
fallback_to_algorithmic: boolWhether to fall back to pure algorithmic processing when budget is exceeded
Trait Implementations§
Source§impl Clone for BudgetAwareConfig
impl Clone for BudgetAwareConfig
Source§fn clone(&self) -> BudgetAwareConfig
fn clone(&self) -> BudgetAwareConfig
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 BudgetAwareConfig
impl Debug for BudgetAwareConfig
Source§impl Default for BudgetAwareConfig
impl Default for BudgetAwareConfig
Source§impl<'de> Deserialize<'de> for BudgetAwareConfig
impl<'de> Deserialize<'de> for BudgetAwareConfig
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 BudgetAwareConfig
impl RefUnwindSafe for BudgetAwareConfig
impl Send for BudgetAwareConfig
impl Sync for BudgetAwareConfig
impl Unpin for BudgetAwareConfig
impl UnsafeUnpin for BudgetAwareConfig
impl UnwindSafe for BudgetAwareConfig
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