Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
53 lines
1.8 KiB
Rust
53 lines
1.8 KiB
Rust
//! Recommendations on Intel Mac with 8 GB and on Linux (NotViable).
|
|
|
|
use kei_machine_probe::{
|
|
recommend, ArchInfo, BackendTier, Capability, CpuFamily, GpuInfo, Machine, MemoryInfo,
|
|
OsFamily, OsInfo, ToolingInfo,
|
|
};
|
|
|
|
fn machine_intel(gb: u64, family: OsFamily) -> Machine {
|
|
Machine {
|
|
os: OsInfo { family, version: "12.7".into(), build: "21H1015".into() },
|
|
arch: ArchInfo {
|
|
family: CpuFamily::IntelX86_64,
|
|
brand: "Intel(R) Core(TM) i7".into(),
|
|
model_id: "MacBookPro16,4".into(),
|
|
cores: 16,
|
|
},
|
|
memory: MemoryInfo {
|
|
total_bytes: gb * 1024 * 1024 * 1024,
|
|
available_bytes: 1_000_000_000,
|
|
pressure_pct: 60,
|
|
},
|
|
gpu: GpuInfo::IntelIntegrated { name: "Intel UHD".into() },
|
|
tooling: ToolingInfo::default(),
|
|
source_commands: vec![],
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn intel_8gb_runs_small_models_only_via_ollama() {
|
|
let m = machine_intel(8, OsFamily::Macos);
|
|
let r = recommend(&m);
|
|
assert_eq!(r.capability, Capability::RunsSmallModelsOnly);
|
|
assert_eq!(r.viable_backends, vec![BackendTier::Ollama]);
|
|
assert!(r.max_model_b_params <= 3);
|
|
}
|
|
|
|
#[test]
|
|
fn intel_16gb_runs_mid_models_no_mlx() {
|
|
let m = machine_intel(16, OsFamily::Macos);
|
|
let r = recommend(&m);
|
|
assert_eq!(r.capability, Capability::RunsMidModels);
|
|
assert!(!r.viable_backends.contains(&BackendTier::MlxNative));
|
|
assert!(r.viable_backends.contains(&BackendTier::LlamaCpp));
|
|
}
|
|
|
|
#[test]
|
|
fn linux_marks_not_viable() {
|
|
let m = machine_intel(32, OsFamily::Linux);
|
|
let r = recommend(&m);
|
|
assert_eq!(r.capability, Capability::NoLocalInferenceViable);
|
|
assert_eq!(r.viable_backends, vec![BackendTier::NotViable]);
|
|
assert_eq!(r.max_model_b_params, 0);
|
|
}
|