[Bugfix][V1] Read ModelState max_model_len from model config (#58149)

Signed-off-by: Chenglun Hu <chenglunhu@gmail.com> Signed-off-by: mgoin <mgoin64@gmail.com> Co-authored-by: mgoin <mgoin64@gmail.com>

hcl committed Sep 23, 2026 at 03:45 UTC 71a239284507e4f9477f8256e04fd28d1aa9a2db
2 files changed +6 -2
tests/v1/worker/test_mamba_hybrid_model_state.py
+1 -1
@@ -21,7 +21,7 @@ from vllm.v1.worker.gpu.model_states.recoverssm import RecoverSSMState
21 def test_prepare_attn_forwards_positions(monkeypatch: pytest.MonkeyPatch) -> None:
22 state = object.__new__(MambaHybridModelState)
23 state.vllm_config = SimpleNamespace(num_speculative_tokens=0)
24 - state.max_model_len = 8192
24 + state.model_config = SimpleNamespace(max_model_len=8192)
25 state._align_mode = False
26 state.recoverssm = None
27
vllm/v1/worker/gpu/model_states/interface.py
+5 -1
@@ -59,7 +59,6 @@ class ModelState(ABC):
59 self.model = model
60 self.device = device
61
62 - self.max_model_len = self.model_config.max_model_len
62 self.max_num_reqs = self.scheduler_config.max_num_seqs
63 self.max_num_tokens = self.scheduler_config.max_num_batched_tokens
64 self.inputs_embeds_size = self.model_config.get_inputs_embeds_size()
@@ -99,6 +98,11 @@ class ModelState(ABC):
98 ),
99 )
100
101 + @property
102 + def max_model_len(self) -> int:
103 + # Auto-fit can reduce the limit after model state initialization.
104 + return self.model_config.max_model_len
105 +
106 def get_supported_generation_tasks(self) -> tuple[GenerationTask, ...]:
107 from vllm.model_executor.models.interfaces import (
108 supports_realtime,