pub struct TokenBudget {
pub system: i32,
pub instructions: i32,
pub evidence: i32,
pub memory: i32,
pub tool_results: i32,
pub history: i32,
pub slack: i32,
}Expand description
Segment-based token budget allocation.
Divides the total token budget into segments for different purposes, allowing fine-grained control over context assembly.
Fields§
§system: i32System prompt allocation
instructions: i32pack instructions/persona
evidence: i32Evidence/provenance data
memory: i32User memory injection
tool_results: i32Tool/LLM result history
history: i32Conversation history
slack: i32Safety margin (typically 5-10%)
Implementations§
Source§impl TokenBudget
impl TokenBudget
Sourcepub fn from_total(total: i32) -> Self
pub fn from_total(total: i32) -> Self
Create a budget from a total with default ratios.
Default allocation:
- System: 10%
- Instructions: 15%
- Evidence: 15%
- Memory: 20%
- Tool Results: 15%
- History: 20%
- Slack: 5%
Sourcepub fn builder(total: i32) -> TokenBudgetBuilder
pub fn builder(total: i32) -> TokenBudgetBuilder
Create a builder for custom ratio configuration.
§Example
use cellstate_core::TokenBudget;
let budget = TokenBudget::builder(8000)
.system(0.10)
.memory(0.25) // Override default
.build();Sourcepub fn for_segment(&self, segment: ContextSegment) -> i32
pub fn for_segment(&self, segment: ContextSegment) -> i32
Get the budget for a specific segment.
Trait Implementations§
Source§impl Clone for TokenBudget
impl Clone for TokenBudget
Source§fn clone(&self) -> TokenBudget
fn clone(&self) -> TokenBudget
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 ComposeSchema for TokenBudget
impl ComposeSchema for TokenBudget
Source§impl Debug for TokenBudget
impl Debug for TokenBudget
Source§impl Default for TokenBudget
impl Default for TokenBudget
Source§impl<'de> Deserialize<'de> for TokenBudget
impl<'de> Deserialize<'de> for TokenBudget
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
Source§impl PartialEq for TokenBudget
impl PartialEq for TokenBudget
Source§impl Serialize for TokenBudget
impl Serialize for TokenBudget
Source§impl ToSchema for TokenBudget
impl ToSchema for TokenBudget
impl StructuralPartialEq for TokenBudget
Auto Trait Implementations§
impl Freeze for TokenBudget
impl RefUnwindSafe for TokenBudget
impl Send for TokenBudget
impl Sync for TokenBudget
impl Unpin for TokenBudget
impl UnwindSafe for TokenBudget
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