diff --git a/docs/user_guide/diffusion/attention_backends/huggingface_hub.md b/docs/user_guide/diffusion/attention_backends/huggingface_hub.md index 846e69fbc..659fe99f7 100644 --- a/docs/user_guide/diffusion/attention_backends/huggingface_hub.md +++ b/docs/user_guide/diffusion/attention_backends/huggingface_hub.md @@ -12,7 +12,7 @@ implementations to reduce numerical drift and sampling divergence. ## Installation ```bash -pip install kernels==0.14.1 +pip install kernels==0.16.0 ``` If `kernels` is unavailable, an explicit `FLASH_ATTN_HUB` or diff --git a/requirements/common.txt b/requirements/common.txt index 99d7412d2..908726031 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,7 +1,8 @@ # Common dependencies for all platforms # transformers: required unified multimodal model classes are unavailable # before 5.10.1; 5.10.0 is yanked, and 5.15 has a known construction -# regression. transformers 5.9 also changed +# regression. kernels 0.16.0's stable-ABI Hub integration also requires +# transformers 5.13.0 or newer. transformers 5.9 also changed # _adjust_missing_and_unexpected_keys from # list+list to set|set, breaking models that declare # _keys_to_ignore_on_load_unexpected as a list (e.g. OpenMOSS-Team/MOSS-TTS-Nano) @@ -9,12 +10,12 @@ # That breakage is now handled in code instead of by pinning: # MossTTSNanoForGeneration wraps weight loading in # transformers_keys_to_ignore_compat (vllm_omni/model_executor/models/utils.py). -transformers >= 5.10.1, < 5.15 +transformers >= 5.13.0, < 5.15 av>=14.0.0 omegaconf>=2.3.0 diffusers==0.40.0 # Hub kernels, including LTX-2.5 NATTEN -kernels==0.14.1 +kernels==0.16.0 safetensors>=0.8.0 accelerate==1.12.0 soundfile>=0.13.1 diff --git a/tests/config/test_dependency_constraints.py b/tests/config/test_dependency_constraints.py new file mode 100644 index 000000000..cb7269de5 --- /dev/null +++ b/tests/config/test_dependency_constraints.py @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: Apache-2.0 +# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project + +from __future__ import annotations + +import re +from pathlib import Path + +import pytest + +pytestmark = [pytest.mark.core_model, pytest.mark.cpu] + +_COMMON_REQUIREMENTS = Path(__file__).parents[2] / "requirements" / "common.txt" + + +def test_common_requirements_keep_hub_kernel_dependencies_compatible(): + requirements = _COMMON_REQUIREMENTS.read_text() + + assert re.search(r"^transformers\s*>=\s*5\.13\.0,\s*<\s*5\.15\s*$", requirements, re.MULTILINE) + assert re.search(r"^kernels\s*==\s*0\.16\.0\s*$", requirements, re.MULTILINE)