DMR provider ignores integer `provider_opts.context_size` (YAML integers decode as uint64), so the model starts at its maximum context
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia in pkg/model/provider/dmr/configure.go: parseContextSize chiama parseInt64Value, che accetta int64/int/float64/string ma non uint64 da YAML map[string]any. Aggiungi uint64 (e mantieni i percorsi string/int) così context_size: 64000 viene inviato come context-size. Controlla l'altro parser numerico nello stesso file su main per il pattern. Conferma con un unit test intorno a parseInt64Value o DMR configure se ne esiste uno; fatto quando un unquoted integer raggiunge la richiesta configure invece di nil.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Versions: docker-agent v1.142.0 and v1.148.0 (linux/amd64, inside a Docker Sandbox), config version 16, provider dmr (Docker Model Runner on the host, llama.cpp backend), model huggingface.co/unsloth/qwen3.8-27b-gguf:UD-Q4_K_M (context window 262144).
What happens
With
models:
qwen:
provider: dmr
base_url: http://host.docker.internal:12434/engines/v1
model: huggingface.co/unsloth/qwen3.8-27b-gguf:UD-Q4_K_M
provider_opts:
context_size: 64000
the context size never reaches Model Runner, and the model runs with its maximum context (262144).
Debug log (--debug):
msg="DMR provider opts" provider_opts="map[context_size:64000 runtime_flags:[...]]"
msg="DMR provider_opts parsed" ... context_size=<nil> ...
msg="Sending model configure request" ... context_size=<nil> ...
msg="Model configure completed"
GET /engines/_configure afterwards shows no context-size for the model.
Workaround / confirmation
Quoting the value works:
provider_opts:
context_size: "64000"
→ Sending model configure request ... context_size=64000, and GET /engines/_configure shows "context-size":64000. Passing --ctx-size 64000 in runtime_flags also works.
Cause (from the source)
parseContextSize → parseInt64Value in pkg/model/provider/dmr/configure.go accepts int64, int, float64 and string, but not uint64. The YAML decoder yields uint64 for a positive integer in a map[string]any, so the value is dropped and parseContextSize returns nil. On main, another numeric parser in the same file already handles uint64, but parseInt64Value does not.
Expected
context_size: 64000 is sent as context-size: 64000. Also, a value that is present but cannot be parsed (and a failed configure request, which is only logged at DEBUG today) could be reported as a warning instead of silently falling back to the model's default context.
- Lingua principale
- Go
- Stelle
- 3.4k
- Fork
- 479
- Merge medio
- 8h 22m
- PR unite (30g)
- 296
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di docker/docker-agent
-
pkg/hooks tests fail with a misleading assertion when jq is not installedForse già presa @dwin-gharibi l’ha presa 46 giorni fa. Apertaarea/testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
docker/docker-agent#4052 ·
I maintainer di solito rispondono entro 1 giorno
-
`remove_directory` and `create_directory` hide work they already did when a later path failsForse già presa @dwin-gharibi l’ha presa 64 giorni fa. Apertaarea/tools
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
docker/docker-agent#3933 ·
I maintainer di solito rispondono entro 1 giorno
-
`edit_file` silently edits the first match when `oldText` occurs more than onceForse già presa @dwin-gharibi l’ha presa 64 giorni fa. Apertaarea/tools
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
docker/docker-agent#3929 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area/api area/runtime area/sessions
Difficoltà 4/5 3-5 giorni Idoneità per principianti 40/100
docker/docker-agent#4560 ·
I maintainer di solito rispondono entro 1 giorno
-
[CI failure] Main test-race job failedForse già presa @dgageot l’ha presa 1 giorno fa. Apertaarea/ci area/testing automated flaky-test status/needs-triage
docker/docker-agent#4557 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di docker/docker-agent
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
duplication
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openvibely/openvibely#1443 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
keyxmakerx/Chronicle#1179 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
michelangelo-ai/michelangelo#2258 ·
I maintainer di solito rispondono entro 1 giorno