glm_vision_enabled

Function glm_vision_enabled 

Source
pub fn glm_vision_enabled() -> bool
Expand description

Is GLM-5.3’s vision tower enabled for this process?

Default OFF. Binding the tower is a MEMORY decision, not a correctness one: it is 1.05 GiB per rank, and the measurement that lived in Glm5NextWeightLoader::binds_vision_encoder says K=3 at 32 K needs 13.58 GiB against 12.07 GiB free — the tower is exactly the difference between --speculative --num-drafts 2 fitting and not. The certified text recipe must keep the footprint it was certified with, so images are something an operator asks for, never something a port turns on for them.

THREE sites read this and they must agree, which is why it is one function: the config parser (so config.vision stays None and an image request is refused at the API edge with the existing “no vision config” error), the loader’s binds_vision_encoder (so the checkpoint loader withholds model.visual.* instead of uploading it), and load_vision_encoder via config.vision. Off, every one of them behaves exactly as it did before the tower was ported.