pub struct ModelLimit {
pub model_pattern: String,
pub max_context_tokens: u32,
pub max_output_tokens: Option<u32>,
pub safety_margin: Option<u32>,
}Expand description
Model limit configuration (user-overridable).
Fields§
§model_pattern: StringModel identifier (partial match supported, e.g., “gpt-4” matches “gpt-4o”)
max_context_tokens: u32Maximum context window size in tokens
max_output_tokens: Option<u32>Maximum output tokens (defaults to min(4096, max_context / 4))
safety_margin: Option<u32>Safety margin for token counting (defaults to 1000)
Implementations§
Source§impl ModelLimit
impl ModelLimit
Sourcepub fn new(model_pattern: impl Into<String>, max_context_tokens: u32) -> Self
pub fn new(model_pattern: impl Into<String>, max_context_tokens: u32) -> Self
Create a new model limit with defaults.
Sourcepub fn get_max_output_tokens(&self) -> u32
pub fn get_max_output_tokens(&self) -> u32
Get max output tokens with default calculation.
Sourcepub fn get_safety_margin(&self) -> u32
pub fn get_safety_margin(&self) -> u32
Get safety margin, scaling proportionally with context window.
Trait Implementations§
Source§impl Clone for ModelLimit
impl Clone for ModelLimit
Source§fn clone(&self) -> ModelLimit
fn clone(&self) -> ModelLimit
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 ModelLimit
impl Debug for ModelLimit
Source§impl<'de> Deserialize<'de> for ModelLimit
impl<'de> Deserialize<'de> for ModelLimit
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 ModelLimit
impl RefUnwindSafe for ModelLimit
impl Send for ModelLimit
impl Sync for ModelLimit
impl Unpin for ModelLimit
impl UnsafeUnpin for ModelLimit
impl UnwindSafe for ModelLimit
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