pub struct ContextSizing {
pub model_max: Option<usize>,
pub effective: Option<usize>,
pub source: Option<NumCtxSource>,
pub max_output: Option<usize>,
}Expand description
Resolved context sizing for a turn. For most providers model_max == effective (the static advertised window). For Ollama they differ:
model_max is the probed architectural window, while effective is what we
actually enforce as num_ctx (auto-fitted to memory, capped, or an
override). Compaction and the status bar use effective; “model supports up
to X” uses model_max.
Fields§
§model_max: Option<usize>§effective: Option<usize>§source: Option<NumCtxSource>How effective was chosen (Ollama only). None for static/advertised.
max_output: Option<usize>The model’s per-response output ceiling, when the provider exposes one
(/models metadata, or a documented static table). Rides the same
resolve→reducer pipeline as the window so provider_capabilities can be
refreshed live.
Trait Implementations§
Source§impl Clone for ContextSizing
impl Clone for ContextSizing
Source§fn clone(&self) -> ContextSizing
fn clone(&self) -> ContextSizing
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 moreimpl Copy for ContextSizing
Source§impl Debug for ContextSizing
impl Debug for ContextSizing
Source§impl Default for ContextSizing
impl Default for ContextSizing
Source§fn default() -> ContextSizing
fn default() -> ContextSizing
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ContextSizing
impl RefUnwindSafe for ContextSizing
impl Send for ContextSizing
impl Sync for ContextSizing
impl Unpin for ContextSizing
impl UnsafeUnpin for ContextSizing
impl UnwindSafe for ContextSizing
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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