Skip to main content

ModelSamplingDefaults

Struct ModelSamplingDefaults 

Source
pub struct ModelSamplingDefaults {
    pub temperature: ModelSamplingDefault,
    pub top_p: ModelSamplingDefault,
    pub top_k: ModelSamplingDefault,
    pub min_p: ModelSamplingDefault,
    pub repeat_penalty: ModelSamplingDefault,
}
Expand description

The sampler defaults one model declares.

Copy, and deliberately so: it rides ModelLaunchSpec into the resident set and out again on every current_model() call, so it is cloned far more often than it is built. Adding a String here would put an allocation on the admission fast path and cost with_model_sampling its const.

Fields§

§temperature: ModelSamplingDefault

general.sampling.temp.

§top_p: ModelSamplingDefault

general.sampling.top_p.

§top_k: ModelSamplingDefault

general.sampling.top_k.

§min_p: ModelSamplingDefault

general.sampling.min_p.

§repeat_penalty: ModelSamplingDefault

general.sampling.penalty_repeat.

Implementations§

Source§

impl ModelSamplingDefaults

Source

pub fn from_metadata<S: BuildHasher>( metadata: &HashMap<String, String, S>, ) -> Self

Read what a model declares out of its stored GGUF metadata.

Values arrive stringified by GgufValue::to_string(), so a FLOAT32 0.7 is the string "0.7" — Rust’s Display prints the shortest form that round-trips. Parsing it back yields 0.7, while /props reports the same value widened from f32 (0.699999988079071); the ~1.2e-8 gap is well inside the epsilon the comparison uses.

Source

pub fn get(&self, field: &str) -> ModelSamplingDefault

Look one field up by its gglib wire name.

Mirrors SlotParams::get so the baseline check reads both sides the same way. A name with no GGUF key — presence_penalty, dry_multiplier, or anything unknown — is Absent by construction, not because this model happened not to set it.

Source

pub fn gguf_key(field: &str) -> Option<&'static str>

The GGUF key that can move field, if any.

Source§

impl ModelSamplingDefaults

Source

pub fn compare_field( &self, field: &str, sending: Option<f64>, ) -> SamplingOverride

Compare one field’s published value against what gglib will send.

sending is what the ladder resolved: None means gglib names the field nowhere and llama.cpp is left to apply the model’s own value.

Source

pub fn compare_all( &self, resolved: impl Fn(&str) -> Option<f64>, ) -> Vec<(&'static str, SamplingOverride)>

Compare every field a model can publish, in MODEL_SAMPLING_KEYS order.

resolved looks each field up by its gglib wire name and returns what the ladder decided to send, so callers hand in whichever config they are explaining rather than this module learning about InferenceConfig.

Trait Implementations§

Source§

impl Clone for ModelSamplingDefaults

Source§

fn clone(&self) -> ModelSamplingDefaults

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ModelSamplingDefaults

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ModelSamplingDefaults

Source§

fn default() -> ModelSamplingDefaults

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ModelSamplingDefaults

Source§

fn eq(&self, other: &ModelSamplingDefaults) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ModelSamplingDefaults

Source§

impl StructuralPartialEq for ModelSamplingDefaults

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more