pub struct BudgetConfig {
pub max_tokens_per_query: usize,
pub max_tokens_per_call: usize,
pub max_calls_per_query: usize,
pub max_calls_per_level: usize,
pub hard_limit: bool,
}Expand description
Token and call budget configuration.
Controls resource consumption during retrieval.
Fields§
§max_tokens_per_query: usizeMaximum total tokens per query (input + output).
max_tokens_per_call: usizeMaximum tokens per single LLM call.
max_calls_per_query: usizeMaximum number of LLM calls per query.
max_calls_per_level: usizeMaximum number of LLM calls per tree level.
hard_limit: boolWhether to enforce hard limits (true) or soft limits with warnings (false).
Implementations§
Source§impl BudgetConfig
impl BudgetConfig
Sourcepub fn is_within_budget(&self, used: usize) -> bool
pub fn is_within_budget(&self, used: usize) -> bool
Check if a given token count is within budget.
Sourcepub fn remaining_tokens(&self, used: usize) -> usize
pub fn remaining_tokens(&self, used: usize) -> usize
Get remaining tokens given current usage.
Trait Implementations§
Source§impl Clone for BudgetConfig
impl Clone for BudgetConfig
Source§fn clone(&self) -> BudgetConfig
fn clone(&self) -> BudgetConfig
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 BudgetConfig
impl Debug for BudgetConfig
Source§impl Default for BudgetConfig
impl Default for BudgetConfig
Source§impl<'de> Deserialize<'de> for BudgetConfig
impl<'de> Deserialize<'de> for BudgetConfig
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 BudgetConfig
impl RefUnwindSafe for BudgetConfig
impl Send for BudgetConfig
impl Sync for BudgetConfig
impl Unpin for BudgetConfig
impl UnsafeUnpin for BudgetConfig
impl UnwindSafe for BudgetConfig
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