Repository navigation
[GUI] DeepSeek load/tune keeps --vision on|off and drops only a bare --vision - #4572
Open
Nyarlathoteppppp wants to merge 1 commit into
Open
Nyarlathoteppppp wants to merge 1 commit into
Nyarlathoteppppp wants to merge 1 commit into
Conversation
…op only a bare --vision when picture reading is off; quant_quality does the same (Niko1221#4507)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and result
For a DeepSeek V4.1 model, setup writes
--vision off(oron) into the model's args (setup.py:8270); DeepSeek configs have novisionsection. When the app builds the run config for a load or a tune,native-control.mjsdrops--visionwhenevercfg.visionis falsy, which is always the case for DeepSeek. It removes only the flag, so the engine gets... --eos 1 off --dspark autoand exits withunknown option off(exit 2), as reported in #4507 and confirmed by a second user on Windows.After the change, a valued
--vision on|offpair is kept as written and only a bare--vision(the Qwen/serve flag with no value) is removed when picture reading is off.tools/quant_quality.pyhad the same token-only drop and gets the same rule.Related discussion
Fixes #4507 (duplicate #4505 has the same cause).
Approach
I did not remove the pair (the issue's suggested expectation): the DeepSeek engine loads its vision tower by default (
src/dsv41/ds4_model.hpp:65,bool vision = true), so dropping--vision offwould load the tower the user or setup turned off and cost memory. Keeping the pair keeps exactly the tower choice setup wrote; for DeepSeek the args are the only place that choice lives (the app's picture toggle needs avisionsection). The Qwen behaviour (bare--visionremoved when pictures are off) is unchanged.strata_cli/launch/runner.py:321has a similar token filter but skipsdeepseek41configs, so it is left alone. Archived scripts underbench/results/with the same pattern are not touched.Validation
Passed:
node --test apps/host/tests/draft-layer.test.mjs(Node 26.0.0): 7 passed. The new test loads adeepseek41fixture with--vision off,--vision onand a bare--vision, each with and without a following flag; it fails on46c152a(1 failed, 6 passed) and passes with the fix. The existing "picture reading off sticks" and "picture reading on keeps --vision" tests still pass.python -m pytest tests/terminal/test_launch_vision_value.py: passes with the fix; 4 subtests fail on46c152a(value left behind byquant_quality.engine_args).native-control.mjs(models-folder, packaged-control, native-two-models, source-server-env, qa1-downloads, parallel-default, user-args, drafting, draft-layer, component-updates): 99 of 107 pass with the fix; the same 8 tests fail on46c152a(97 of 105 pass there).46c152a.Failed:
none observed.
Not run:
node scripts/test.mjs): it did not finish here (no progress after 35 minutes; several files fail to load withERR_MODULE_NOT_FOUNDbecause this checkout has noapps/hostdependencies installed).Limits
The DeepSeek picture setting still cannot be changed from the app's toggle; that is outside this fix.