pub struct CostControlConfig {
pub enabled: bool,
pub keep_recent_tool_results: usize,
pub mask_after_tool_results: usize,
pub max_live_tool_result_bytes: usize,
pub max_uncached_input_tokens: u32,
pub min_cache_read_ratio: f32,
}Expand description
Cost-control masking settings.
Unlike proactive compaction, this is cost-oriented rather than context-window-oriented: old bulky tool results should not stay verbatim in every request just because the model still has room for them.
Fields§
§enabled: boolEnable low-cost tool-result masking before every LLM call.
keep_recent_tool_results: usizeNumber of most-recent tool results to always keep verbatim.
mask_after_tool_results: usizeStart masking once this many tool results are present.
max_live_tool_result_bytes: usizeStart masking once aggregate live tool-result payload exceeds this many bytes.
max_uncached_input_tokens: u32If cumulative/session usage is available, mask when uncached input exceeds this.
min_cache_read_ratio: f32If cumulative/session usage is available, mask when cache read ratio falls below this.
Trait Implementations§
Source§impl Clone for CostControlConfig
impl Clone for CostControlConfig
Source§fn clone(&self) -> CostControlConfig
fn clone(&self) -> CostControlConfig
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 CostControlConfig
impl Debug for CostControlConfig
Source§impl Default for CostControlConfig
impl Default for CostControlConfig
Source§impl<'de> Deserialize<'de> for CostControlConfig
impl<'de> Deserialize<'de> for CostControlConfig
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 CostControlConfig
impl RefUnwindSafe for CostControlConfig
impl Send for CostControlConfig
impl Sync for CostControlConfig
impl Unpin for CostControlConfig
impl UnsafeUnpin for CostControlConfig
impl UnwindSafe for CostControlConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request