pub fn auto_select_quantization(
model: &KnownModel,
available_ram_gb: u32,
) -> QuantizationExpand 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 foravailable_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);