From 71a239284507e4f9477f8256e04fd28d1aa9a2db Mon Sep 17 00:00:00 2001 From: hcl Date: Wed, 23 Sep 2026 03:45:04 +0800 Subject: [PATCH] [Bugfix][V1] Read ModelState max_model_len from model config (#58149) Signed-off-by: Chenglun Hu Signed-off-by: mgoin Co-authored-by: mgoin --- tests/v1/worker/test_mamba_hybrid_model_state.py | 2 +- vllm/v1/worker/gpu/model_states/interface.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/v1/worker/test_mamba_hybrid_model_state.py b/tests/v1/worker/test_mamba_hybrid_model_state.py index 0cdd91e0d7..f32c72dd6c 100644 --- a/tests/v1/worker/test_mamba_hybrid_model_state.py +++ b/tests/v1/worker/test_mamba_hybrid_model_state.py @@ -21,7 +21,7 @@ from vllm.v1.worker.gpu.model_states.recoverssm import RecoverSSMState def test_prepare_attn_forwards_positions(monkeypatch: pytest.MonkeyPatch) -> None: state = object.__new__(MambaHybridModelState) state.vllm_config = SimpleNamespace(num_speculative_tokens=0) - state.max_model_len = 8192 + state.model_config = SimpleNamespace(max_model_len=8192) state._align_mode = False state.recoverssm = None diff --git a/vllm/v1/worker/gpu/model_states/interface.py b/vllm/v1/worker/gpu/model_states/interface.py index a5c8d6f4cf..b8cdd76940 100644 --- a/vllm/v1/worker/gpu/model_states/interface.py +++ b/vllm/v1/worker/gpu/model_states/interface.py @@ -59,7 +59,6 @@ class ModelState(ABC): self.model = model self.device = device - self.max_model_len = self.model_config.max_model_len self.max_num_reqs = self.scheduler_config.max_num_seqs self.max_num_tokens = self.scheduler_config.max_num_batched_tokens self.inputs_embeds_size = self.model_config.get_inputs_embeds_size() @@ -99,6 +98,11 @@ class ModelState(ABC): ), ) + @property + def max_model_len(self) -> int: + # Auto-fit can reduce the limit after model state initialization. + return self.model_config.max_model_len + def get_supported_generation_tasks(self) -> tuple[GenerationTask, ...]: from vllm.model_executor.models.interfaces import ( supports_realtime,