Pull requests / #3182
#3182 [Other] setup: say that --kv, --context and --vision are not applied when starting an installed model
open · @victoralcazardev · 0 コメント · GitHub で見る
Setup & installModels & quants
本文
Problem and result: with a model already installed, `./setup.sh --kv q4_0` (or `--context N`, or `--vision no`) starts the model with its saved settings and prints nothing about the flag. The start path passes only host, API key, draft vocab, VRAM reserve and browser to `start()`; `--kv`, `--context` and `--vision` are dropped. The user believes the new setting is in use. With this change, setup prints a warning that names the ignored flags and how to apply them, and then starts as before. Behavior is otherwise unchanged. ``` [!] --kv, --context, --vision only apply when a model is set up: this start keeps its saved settings. To change them: ./setup.sh --setup --model NAME --kv --context --vision ... ``` Approach: a warning, following the existing `--calibrate` "said, not dropped" pattern (#2036), rather than applying the flags on start. Applying them would change what a plain start does, and the setup path already rewrites them (`--setup --model NAME --kv ...`). The check covers the two paths that start or tune an installed model without setting it up (the plain start and `--calibrate`); `--setup`, `--check`, `--model`/`--family` and `--no-start` go through setup as before. Validation: Passed: `python -m unittest tools.test_setup_choices` (55 tests OK). The new `StartIgnoresSetupFlags.test_said_on_a_plain_start` fails on main (only the banner is printed) and passes with this change. `test_silent_without_them` checks that a plain start with none of these flags prints no warning. Passed: `python -m unittest discover -s tools -p 'test_setup_*.py'`: 688 tests. The same 50 failures occur on main (3fa1b524) without this change (48 in `test_setup_golden`, 2 in `test_setup_engine_hash`); the list of failures is identical with and without it. Not run: a real start on hardware. The reproduction is in the mocked harness only; I found the gap by reading the start dispatch (`setup.py`, the `have and not (a.setup ...)` branch) and confirmed it with the test. No engine code changed. Limits: `--rope-scaling`/`--rope-scale` may have the same gap; not checked, not included.
関連リンク
インストール・モデル・リリースへの站内リンク。