From f404c9af7fd6ebfc0d04a2d82bd91c7cb2a1af58 Mon Sep 17 00:00:00 2001 From: zzzzwwjj <34335947+zzzzwwjj@users.noreply.github.com> Date: Tue, 9 Dec 2025 23:42:01 +0800 Subject: [PATCH] [bugfix] fix quant method validation bug (#4831) ### What this PR does / why we need it? When `hf_quant_cfg` is not None and `hf_quant_cfg.quant_method == ""`, func `override_quantization_method` will return None and raise ValidationError. ### Does this PR introduce _any_ user-facing change? ### How was this patch tested? - vLLM version: v0.12.0 - vLLM main: https://github.com/vllm-project/vllm/commit/ad32e3e19ccf0526cb6744a5fed09a138a5fb2f9 Signed-off-by: zzzzwwjj <1183291235@qq.com> --- tests/ut/quantization/test_quant_config.py | 8 ++++++++ vllm_ascend/quantization/quant_config.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/ut/quantization/test_quant_config.py b/tests/ut/quantization/test_quant_config.py index b667767b..b0dc73db 100644 --- a/tests/ut/quantization/test_quant_config.py +++ b/tests/ut/quantization/test_quant_config.py @@ -66,11 +66,19 @@ class TestAscendQuantConfig(TestBase): mock_is_available.return_value = True result = AscendQuantConfig.override_quantization_method(None, None) self.assertIsNone(result) + hf_quant_cfg = {"quant_method": ""} + result = AscendQuantConfig.override_quantization_method( + hf_quant_cfg, None) + self.assertEqual(result, "ascend") # Test when NPU is not available mock_is_available.return_value = False result = AscendQuantConfig.override_quantization_method(None, None) self.assertIsNone(result) + hf_quant_cfg = {"quant_method": ""} + result = AscendQuantConfig.override_quantization_method( + hf_quant_cfg, None) + self.assertIsNone(result) def test_get_quant_method_for_linear(self): mock_config = MagicMock() diff --git a/vllm_ascend/quantization/quant_config.py b/vllm_ascend/quantization/quant_config.py index e9d0c97f..e19a008b 100644 --- a/vllm_ascend/quantization/quant_config.py +++ b/vllm_ascend/quantization/quant_config.py @@ -96,7 +96,7 @@ class AscendQuantConfig(QuantizationConfig): user_quant) -> Optional[str]: if hf_quant_cfg is not None: quant_method = hf_quant_cfg.get("quant_method", None) - if quant_method is None and torch.npu.is_available(): + if not quant_method and torch.npu.is_available(): return ASCEND_QUANTIZATION_METHOD return None