mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-10-15 05:30:01 +08:00
Ollama 0.33.3 gives two answers for gemma3: /api/tags lists it as ['completion'], while /api/show for the same model reports ['completion', 'vision']. getModelCapabilities trusted the list outright and cached it for the life of the process, so image upload stayed disabled for gemma3, one of the most common small vision models, even though the model downloader correctly shows it as text + image. Re-pulling does not help: the local digest matches the registry. A list that reports vision is still trusted without probing. A list that omits it is no longer conclusive: the model is probed through /api/show (then llama.cpp /props), and the list's answer stands only when the probes have nothing better, which keeps hybrid routers without /api/show working. The service's own copy of the short-circuit is removed so the rule lives in the one tested function. Verified on NOMAD3 (v1.35.0 + this patch): installed-models moves gemma3:4b from unsupported to supported, every other model unchanged, and a chat with an attached image is answered correctly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>