Pull requests / #3182

#3182 [Other] setup: say that --kv, --context and --vision are not applied when starting an installed model

open · @victoralcazardev · 0 Kommentare · Auf GitHub

Setup & installModels & quants

Beschreibung

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.

Mehr auf der Site

Links zu Install, Modellen, Releases.