vMLX 1.6.23
vMLX 1.6.23
Fixed
-
DeepSeek V4 Flash now produces a visible answer on prompts that need a long
response. The model does not reliably emit</think>, so reasoning consumed
the entire output budget and the answer was left with nothing:max_tokens reasoning chars answer chars 2000 7,980 0 4000 15,980 0 8000 31,980 0Measured on the loaded model with greedy decoding over 600 steps,
</think>
has a peak probability of 9.27e-07 and a median rank of 19,715 out of 129,280
tokens — it is never in the top 5 and never chosen. This is model behaviour,
not sampling and not a quantization defect.The engine already had a never-empty answer pass for exactly this case, but it
could only arm when the caller suppliedmax_thinking_tokens, which no caller
does, so it never ran.When no split is requested, DeepSeek V4 Flash now reserves part of the output
budget for the answer, which makes that answer pass reachable. The reservation
is a bounded reserve rather than a percentage, so deep reasoning is not taxed:max_tokens thinking reserved thinking share 512 256 256 50.0% 2000 1500 500 75.0% 8000 6000 2000 75.0% 32000 29952 2048 93.6% 393216 391168 2048 99.5%Budgets under 512 tokens are left unsplit. Set
DSV4_ANSWER_RESERVEto choose
your own reserve, or0to disable the split entirely.No tokens are forced or injected, sampling is unchanged, and no repetition
penalty is involved. The split applies to Chat Completions, Responses,
Anthropic and Ollama, streaming and non-streaming, and operates on the
resolved output budget so it honours whatever Max Tokens shows in the app.Other model families are unaffected: the new path is unreachable for anything
that is not DeepSeek V4 Flash with thinking on, verified across all 28 model
families the registry knows and confirmed live on Laguna, Qwen 3.6 and
MiniMax M2.7.
Separate signed and Apple-notarized Apple-silicon downloads are available for
macOS Tahoe and Sequoia-compatible systems. Tahoe is the default download.