The Wire · Showcase
OLLAMA'S MLX RUNNER NOW SPEAKS STRUCTURED OUTPUT
By RepoJournal · Filed · About Local LLMs
Ollama closed a silent correctness gap on Apple Silicon, and the LLM inference stack shipped a wave of fixes that touch everything from tool calls to native ARM support.
Ollama's MLX runner finally enforces the `format` field, using xgrammar to mask logits so every generated token satisfies the requested JSON or JSON Schema constraint [1]. It's the fix that makes structured output trustworthy on Apple Silicon, and it lands alongside a cleanup that removes the dead Grammar completion-request field, a leftover from the CGO engine removal [2]. Meanwhile, llama.cpp closed the hole where tool calls vanished when `--prefill-assistant` was active, forcing auto-continuation to skip trailing assistant messages with tool_calls and throwing a clear error instead [3]. And SGLang removed the fusion barrier on DeepSeek-V4, routing the shared expert through the same MoE kernel to cut kernel launches and stream syncs per layer [4]. For infrastructure teams, vLLM's cudagraph memory profiling fix prevents a nasty allocator assert by running profiling in a throwaway graph pool [5], and llama.cpp v0.3.0 shipped with the KleidiAI build rework that lifts manual kernel-source and `-march` requirements [6][7].
One email a day. Unsubscribe in one click.
Keep up with Local LLMs in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Update ollama to a build with this MLX runner change to get true structured output on Apple Silicon ollama/ollama [immediate]
- → Upgrade llama.cpp to v0.3.0 or pull the prefill-assistant tool-call fix before relying on tool calling ggml-org/llama.cpp [immediate]
- → Monitor vLLM for the cudagraph fix if you hit allocator asserts on multi-GPU setups vllm-project/vllm [plan]
References
- [1] mlxrunner: add structured output support ↗ ollama/ollama
- [2] llm: remove the unused Grammar completion-request field ollama/ollama
- [3] server : reject prefilled assistant messages with tool calls (#27626) ggml-org/llama.cpp
- [4] [Deepseek-V4] Enable shared-experts fusion on the flashinfer_mxfp4 (trtllm-gen) MoE path ↗ sgl-project/sglang
- [5] [Bugfix][MRV2] Run cudagraph memory profiling in a throwaway graph pool ↗ vllm-project/vllm
- [6] v0.3.0 ↗ ggml-org/llama.cpp
- [7] kleidiai: Rework KleidiAI Build System/Integration ↗ ggml-org/llama.cpp