diff --git a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/layer.py b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/layer.py index 9ddbb3f3909..70a7b31362f 100644 --- a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/layer.py +++ b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/layer.py @@ -421,7 +421,7 @@ class DeepseekV32DecoderLayer(nn.Module): ) return out - shared_experts.forward = _fused_forward + shared_experts.forward = _fused_forward # type: ignore[method-assign] class DeepseekV32MLAAttention(nn.Module): diff --git a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/mtp.py b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/mtp.py index 8aa7e7a7fae..1b61f3620da 100644 --- a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/mtp.py +++ b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/mtp.py @@ -43,6 +43,7 @@ class DeepSeekMultiTokenPredictorLayer(DeepSeekMultiTokenPredictorLayerBase): def __init__(self, vllm_config: VllmConfig, prefix: str) -> None: nn.Module.__init__(self) + assert vllm_config.speculative_config is not None config = vllm_config.speculative_config.draft_model_config.hf_config quant_config = vllm_config.quant_config diff --git a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/sparse_indexer.py b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/sparse_indexer.py index e901a5cdaaf..cd127d11899 100644 --- a/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/sparse_indexer.py +++ b/vllm/model_executor/specialized_models/deepseek_v3_2_nvfp4/sparse_indexer.py @@ -48,6 +48,7 @@ def sparse_attn_indexer( _ = torch.empty(max_logits_elems, dtype=torch.uint8, device=q_fp8.device) return None + assert isinstance(attn_metadata, dict) attn_metadata = attn_metadata[k_cache_prefix] assert isinstance(attn_metadata, DeepseekV32IndexerMetadata) has_decode = attn_metadata.num_decodes > 0