Grux Local is a local model trained for Grux AI on the jobs Grux gives a model: calling the right tool with the right details, saying so when no tool can do what you asked, treating pasted text as data rather than instructions, and the background work of fixing dictation, sorting mail, titling chats and summarizing meetings. It runs on your Mac through Ollama, so there is no API key, no account, and no model provider seeing what you ask. It comes in three sizes: the 2B for 8 GB Macs, the 4B for 16 GB Macs and up, and the 9B for 24 GB Macs and up. On a 16 GB Mac mini, across 464 held-out Grux tasks, the 4B got 454 right against 396 for the same model before training. It is Apache-2.0, it needs Apple silicon and Ollama 0.40.8 or later. Grux AI 3.2 offers it in one click at first run, and Route chat to a local model in Settings takes the tag by hand.
| Tag | Made for | Pull command |
|---|---|---|
| 2B | 8 GB Macs | ollama pull gruxai.com/grux/grux-local:2b |
4B, also latest | 16 GB Macs and up | ollama pull gruxai.com/grux/grux-local:4b |
| 9B | 24 GB Macs and up | ollama pull gruxai.com/grux/grux-local:9b |
Then in Grux AI: Settings, Models, Offline mode (local model), turn on Route chat to a local model, and enter the tag you pulled in Model. With the route on and Ollama running, chat goes to Grux Local. Tools you ask for still do their job: a web search opens Google in Chrome.
464 held-out Grux tasks, written separately and never used in training, scored by Grux's own parsers, each size against the same model before training, the qwen3.5 build from the Ollama library. The 2B and 4B were measured on a 16 GB Mac mini with an Apple M4, Ollama 0.40.8, one request at a time.
| On the 16 GB Mac mini | Before training | Grux Local |
|---|---|---|
| 4B, all 464 tasks | 396 (85%) | 454 (98%) |
| 4B, hidden instructions ignored | 55 of 70 | 65 of 70 |
| 2B, all 464 tasks | 295 (64%) | 435 (94%) |
| 2B, hidden instructions ignored | 43 of 70 | 66 of 70 |
The 9B's Grux Local numbers are from the same Mac mini. Its before-training numbers are from a MacBook Pro with an Apple M4 Pro and 48 GB, same Ollama, same 464 tasks, because the Mac mini had no disk to spare for the stock 9B.
| Test | Before training, on the MacBook Pro | Grux Local |
|---|---|---|
| 9B, all 464 tasks | 400 (86%) | 458 (99%) |
| 9B, hidden instructions ignored | 65 of 70 | 66 of 70 |
The full read, with the loaded sizes, the chat reply times and the opt-in 4B v2, is Is there a local model made for Grux?. Every number on both pages is read at build time from results/v1.json, never typed, and compares Grux Local with the same model before training on Grux's own tasks. It is not a comparison with any other model.
A LoRA fine-tune of Qwen 3.5 at 2B, 4B and 9B on synthetic Grux tasks, each with its expected result set when the task was made, never by a model. Gemma 4 26B wrote the reply text, and a reply was kept only when Grux's own checker passed it and it was right on top of that. No personal data was used. The 2B and 4B run in nvfp4 on Ollama's MLX runner; the 9B was quantized with NVIDIA ModelOpt to the same mixed NVFP4 and MXFP8 recipe as Ollama's own qwen3.5:9b. The recipe, the model card and the files are in the Grux Local repository, and the Grux README's Grux Local section walks through how it was made and measured.