You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(onboarding): implement dynamic default models based on device RAM (#228)
## PR Objective
This Pull Request introduces dynamic default model suggestions on the
onboarding screen based on the device's available RAM.
Resolves#222.
By tailoring the initial model suggestions to the hardware capabilities,
we prevent out-of-memory crashes on low-end devices while ensuring that
high-end device users get the most capable (and multimodal) models right
out of the box.
## What changed?
### New Features & Logic
* **Dynamic Thresholds:** Replaced the static `startingModels` array
with a new dynamic function that evaluates the device's RAM (in GB).
* **Categorized Model Tiers:** * **Low-end (< 4 GB RAM):** Suggests
lightweight models (e.g., `Qwen 3 - 0.6B`, `LFM 2.5 VL - 450M`) that fit
comfortably in limited memory.
* **Mid-range (4 - 6 GB RAM):** Suggests balanced models (e.g., `LLaMA
3.2 - 1B - SpinQuant`, `Qwen 3 - 1.7B`).
* **High-end (> 6 GB RAM):** Suggests the most powerful and multimodal
models (e.g., `Gemma 4 VL - 2B`, `Qwen 2.5 - 3B`).
* **Onboarding Integration:** Connected the RAM-fetching utility to the
Onboarding component to seamlessly inject these dynamic recommendations
during the initial setup.
### Tests
* Added unit tests to verify that the correct array of models is
returned for each specific RAM threshold (Low, Mid, and High-end).
---------
Co-authored-by: Norbert Klockiewicz <Nklockiewicz12@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments