Skip to main content

auto_select_quantization

Function auto_select_quantization 

Source
pub fn auto_select_quantization(
    model: &KnownModel,
    available_ram_gb: u32,
) -> Quantization
Expand description

Auto-select quantization based on available RAM.

Returns the best (highest quality) quantization that fits in available RAM. Falls back to the smallest quantization if nothing fits.

§Arguments

  • model - The model to select quantization for
  • available_ram_gb - Available system RAM in gigabytes

§Example

use spn_core::{auto_select_quantization, find_model, Quantization};

let model = find_model("qwen3:8b").unwrap();

// With 16GB RAM, should select Q8_0 (high quality)
let quant = auto_select_quantization(model, 16);
assert_eq!(quant, Quantization::Q8_0);

// With 8GB RAM, Q5_K_M fits
let quant = auto_select_quantization(model, 8);
assert_eq!(quant, Quantization::Q5_K_M);

// For larger models, falls back to smaller quantization
let large_model = find_model("qwen3:32b").unwrap();
let quant = auto_select_quantization(large_model, 16);
assert_eq!(quant, Quantization::Q4_K_M);