Skip to main content

ModelCandidate

Struct ModelCandidate 

Source
pub struct ModelCandidate {
    pub repo: &'static str,
    pub quantization: &'static str,
    pub weights_bytes: u64,
    pub kv_elems_per_token: KvElemsPerToken,
    pub context: u64,
    pub rationale: &'static str,
}
Expand description

One entry in the shortlist.

Weights are recorded as the actual byte size of the quantized file on Hugging Face — not a rounded “about 18 GB” — because the whole point is to compare against a real memory figure. The KV shape comes from the model’s own config so the cache cost is computed by kv_estimate, not restated here as a second magic number.

Fields§

§repo: &'static str

Hugging Face repository id, passed verbatim to the download queue.

§quantization: &'static str

Quantization to request from that repository.

§weights_bytes: u64

Size of the quantized weights, in bytes.

§kv_elems_per_token: KvElemsPerToken

Per-token KV cache element counts, derived from the model’s config.

§context: u64

Context this candidate is sized for.

§rationale: &'static str

Why this model, in the user’s terms. Printed verbatim.

Implementations§

Source§

impl ModelCandidate

Source

pub const fn required_bytes(&self) -> u64

Total memory this candidate needs: weights plus KV cache at context, quantized to the gglib default.

Uses kv_bytes_per_token with KvCacheType::Q8_0 on both sides because that is what the runtime actually launches with (see gglib_runtime::llama::args::kv_cache_type). A recommendation computed against f16 would over-reserve by roughly the KV cache again.

Source

pub fn min_budget_bytes(&self) -> u64

The smallest memory budget this candidate may be recommended for.

Trait Implementations§

Source§

impl Clone for ModelCandidate

Source§

fn clone(&self) -> ModelCandidate

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 ModelCandidate

Source§

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

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

impl PartialEq for ModelCandidate

Source§

fn eq(&self, other: &ModelCandidate) -> 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 ModelCandidate

Source§

impl Eq for ModelCandidate

Source§

impl StructuralPartialEq for ModelCandidate

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