[Edge][WP6] Slim the AR/TTS import path and add an edge dependency set
* diffusers is no longer imported by vllm_omni.diffusion.data (annotation only); vllm_omni.diffusion.io_support (diffusion registry + distributed state) is imported lazily by config_factory and async_omni_engine, so constructing a Qwen3-TTS pipeline config / AsyncOmni no longer loads diffusers, x_transformers or whisper (guarded by tests/config/test_import_guard.py). * requirements/common.txt = core.txt (AR/speech runtime) + media.txt (diffusion/video/extra audio); VLLM_OMNI_EDGE_BUILD=1 makes setup.py use requirements/<device>-edge.txt (core only); `edge` extra adds websockets and sounddevice for on-device clients. Measured on this host (CUDA venv): `import vllm` 7.0-7.9 s, `import vllm_omni` adds ~20 s of which ~17 s is transformers' own import (transformers.utils.import_utils) pulled in by vllm_omni.patch / vllm_omni.version; that floor is not vLLM-Omni's and is unchanged. Guard test: no diffusion module loaded on the TTS path. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
1 parent
49a839ecf9
commit
8e912db6c8
11 files changed
+98
-45
No files matched your search
@@ -227,6 +227,12 @@ def get_install_requires() -> list[str]:
|
||||
device = detect_target_device()
|
||||
requirements_dir = Path(__file__).parent / "requirements"
|
||||
requirements_file = requirements_dir / f"{device}.txt"
|
||||
# VLLM_OMNI_EDGE_BUILD=1 selects the AR-only dependency set (no diffusion /
|
||||
# video stack) when requirements/<device>-edge.txt exists.
|
||||
if os.environ.get("VLLM_OMNI_EDGE_BUILD", "0") == "1":
|
||||
edge_file = requirements_dir / f"{device}-edge.txt"
|
||||
if edge_file.exists():
|
||||
requirements_file = edge_file
|
||||
|
||||
print(f"Loading requirements from: {requirements_file}")
|
||||
requirements = load_requirements(requirements_file)
|
||||
|
||||
Reference in new issue
Block a user