Unverified Commit 4d4d6bad authored by Cyrus Leung's avatar Cyrus Leung Committed by GitHub
Browse files

[Chore] Separate out `vllm.utils.importlib` (#27022)


Signed-off-by: default avatarDarkLight1337 <tlleungac@connect.ust.hk>
parent 11ae016b
...@@ -27,7 +27,7 @@ from vllm.model_executor.model_loader.tensorizer import ( ...@@ -27,7 +27,7 @@ from vllm.model_executor.model_loader.tensorizer import (
from vllm.model_executor.model_loader.tensorizer_loader import ( from vllm.model_executor.model_loader.tensorizer_loader import (
BLACKLISTED_TENSORIZER_ARGS, BLACKLISTED_TENSORIZER_ARGS,
) )
from vllm.utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
from .conftest import DummyExecutor, assert_from_collective_rpc from .conftest import DummyExecutor, assert_from_collective_rpc
......
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
import pytest
from vllm.utils.import_utils import PlaceholderModule
def _raises_module_not_found():
return pytest.raises(ModuleNotFoundError, match="No module named")
def test_placeholder_module_error_handling():
placeholder = PlaceholderModule("placeholder_1234")
with _raises_module_not_found():
int(placeholder)
with _raises_module_not_found():
placeholder()
with _raises_module_not_found():
_ = placeholder.some_attr
with _raises_module_not_found():
# Test conflict with internal __name attribute
_ = placeholder.name
# OK to print the placeholder or use it in a f-string
_ = repr(placeholder)
_ = str(placeholder)
# No error yet; only error when it is used downstream
placeholder_attr = placeholder.placeholder_attr("attr")
with _raises_module_not_found():
int(placeholder_attr)
with _raises_module_not_found():
placeholder_attr()
with _raises_module_not_found():
_ = placeholder_attr.some_attr
with _raises_module_not_found():
# Test conflict with internal __module attribute
_ = placeholder_attr.module
...@@ -24,7 +24,6 @@ from vllm.transformers_utils.detokenizer_utils import convert_ids_list_to_tokens ...@@ -24,7 +24,6 @@ from vllm.transformers_utils.detokenizer_utils import convert_ids_list_to_tokens
from vllm.utils import ( from vllm.utils import (
FlexibleArgumentParser, FlexibleArgumentParser,
MemorySnapshot, MemorySnapshot,
PlaceholderModule,
bind_kv_cache, bind_kv_cache,
common_broadcastable_dtype, common_broadcastable_dtype,
current_stream, current_stream,
...@@ -475,46 +474,6 @@ def test_common_broadcastable_dtype(dtypes, expected_result): ...@@ -475,46 +474,6 @@ def test_common_broadcastable_dtype(dtypes, expected_result):
assert common_broadcastable_dtype(dtypes) == expected_result assert common_broadcastable_dtype(dtypes) == expected_result
def test_placeholder_module_error_handling():
placeholder = PlaceholderModule("placeholder_1234")
def build_ctx():
return pytest.raises(ModuleNotFoundError, match="No module named")
with build_ctx():
int(placeholder)
with build_ctx():
placeholder()
with build_ctx():
_ = placeholder.some_attr
with build_ctx():
# Test conflict with internal __name attribute
_ = placeholder.name
# OK to print the placeholder or use it in a f-string
_ = repr(placeholder)
_ = str(placeholder)
# No error yet; only error when it is used downstream
placeholder_attr = placeholder.placeholder_attr("attr")
with build_ctx():
int(placeholder_attr)
with build_ctx():
placeholder_attr()
with build_ctx():
_ = placeholder_attr.some_attr
with build_ctx():
# Test conflict with internal __module attribute
_ = placeholder_attr.module
def test_model_specification( def test_model_specification(
parser_with_config, cli_config_file, cli_config_file_with_model parser_with_config, cli_config_file, cli_config_file_with_model
): ):
......
...@@ -20,7 +20,7 @@ from vllm.config import ( ...@@ -20,7 +20,7 @@ from vllm.config import (
VllmConfig, VllmConfig,
) )
from vllm.config.model import ModelDType from vllm.config.model import ModelDType
from vllm.utils import resolve_obj_by_qualname from vllm.utils.import_utils import resolve_obj_by_qualname
from vllm.v1.attention.backends.utils import ( from vllm.v1.attention.backends.utils import (
AttentionMetadataBuilder, AttentionMetadataBuilder,
CommonAttentionMetadata, CommonAttentionMetadata,
......
...@@ -8,7 +8,7 @@ from urllib.parse import urljoin ...@@ -8,7 +8,7 @@ from urllib.parse import urljoin
import numpy.typing as npt import numpy.typing as npt
from vllm.utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
from .base import VLLM_S3_BUCKET_URL, get_vllm_public_assets from .base import VLLM_S3_BUCKET_URL, get_vllm_public_assets
......
...@@ -10,7 +10,7 @@ import numpy.typing as npt ...@@ -10,7 +10,7 @@ import numpy.typing as npt
from huggingface_hub import hf_hub_download from huggingface_hub import hf_hub_download
from PIL import Image from PIL import Image
from vllm.utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
from .base import get_cache_dir from .base import get_cache_dir
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
import enum import enum
from vllm.utils import resolve_obj_by_qualname from vllm.utils.import_utils import resolve_obj_by_qualname
class _Backend(enum.Enum): class _Backend(enum.Enum):
......
...@@ -13,7 +13,8 @@ import vllm.envs as envs ...@@ -13,7 +13,8 @@ import vllm.envs as envs
from vllm.attention.backends.abstract import AttentionBackend from vllm.attention.backends.abstract import AttentionBackend
from vllm.attention.backends.registry import _Backend, backend_name_to_enum from vllm.attention.backends.registry import _Backend, backend_name_to_enum
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.utils import STR_BACKEND_ENV_VAR, resolve_obj_by_qualname from vllm.utils import STR_BACKEND_ENV_VAR
from vllm.utils.import_utils import resolve_obj_by_qualname
logger = init_logger(__name__) logger = init_logger(__name__)
......
...@@ -39,7 +39,7 @@ from vllm.lora.utils import get_adapter_absolute_path ...@@ -39,7 +39,7 @@ from vllm.lora.utils import get_adapter_absolute_path
from vllm.multimodal import MultiModalDataDict from vllm.multimodal import MultiModalDataDict
from vllm.multimodal.image import convert_image_mode from vllm.multimodal.image import convert_image_mode
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
from vllm.utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
try: try:
from datasets import load_dataset from datasets import load_dataset
......
...@@ -24,7 +24,8 @@ from vllm.compilation.partition_rules import ( ...@@ -24,7 +24,8 @@ from vllm.compilation.partition_rules import (
from vllm.config import CompilationConfig, CUDAGraphMode, VllmConfig from vllm.config import CompilationConfig, CUDAGraphMode, VllmConfig
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.platforms import current_platform from vllm.platforms import current_platform
from vllm.utils import is_torch_equal_or_newer, resolve_obj_by_qualname from vllm.utils import is_torch_equal_or_newer
from vllm.utils.import_utils import resolve_obj_by_qualname
from .caching import VllmSerializableFunction from .caching import VllmSerializableFunction
from .compiler_interface import ( from .compiler_interface import (
......
...@@ -21,7 +21,8 @@ from vllm.compilation.wrapper import TorchCompileWrapperWithCustomDispatcher ...@@ -21,7 +21,8 @@ from vllm.compilation.wrapper import TorchCompileWrapperWithCustomDispatcher
from vllm.config import CompilationMode, VllmConfig, set_current_vllm_config from vllm.config import CompilationMode, VllmConfig, set_current_vllm_config
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.sequence import IntermediateTensors from vllm.sequence import IntermediateTensors
from vllm.utils import resolve_obj_by_qualname, supports_dynamo from vllm.utils import supports_dynamo
from vllm.utils.import_utils import resolve_obj_by_qualname
from .monitor import start_monitoring_torch_compile from .monitor import start_monitoring_torch_compile
......
...@@ -16,7 +16,8 @@ from vllm.compilation.inductor_pass import CallableInductorPass, InductorPass ...@@ -16,7 +16,8 @@ from vllm.compilation.inductor_pass import CallableInductorPass, InductorPass
from vllm.config.utils import config from vllm.config.utils import config
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.platforms import current_platform from vllm.platforms import current_platform
from vllm.utils import is_torch_equal_or_newer, resolve_obj_by_qualname from vllm.utils import is_torch_equal_or_newer
from vllm.utils.import_utils import resolve_obj_by_qualname
if TYPE_CHECKING: if TYPE_CHECKING:
from vllm.config import VllmConfig from vllm.config import VllmConfig
......
...@@ -41,7 +41,8 @@ from vllm.transformers_utils.config import ( ...@@ -41,7 +41,8 @@ from vllm.transformers_utils.config import (
) )
from vllm.transformers_utils.runai_utils import ObjectStorageModel, is_runai_obj_uri from vllm.transformers_utils.runai_utils import ObjectStorageModel, is_runai_obj_uri
from vllm.transformers_utils.utils import maybe_model_redirect from vllm.transformers_utils.utils import maybe_model_redirect
from vllm.utils import LayerBlockType, LazyLoader, common_broadcastable_dtype from vllm.utils import LayerBlockType, common_broadcastable_dtype
from vllm.utils.import_utils import LazyLoader
if TYPE_CHECKING: if TYPE_CHECKING:
from transformers import PretrainedConfig from transformers import PretrainedConfig
......
...@@ -13,7 +13,7 @@ import vllm.envs as envs ...@@ -13,7 +13,7 @@ import vllm.envs as envs
from vllm.config.parallel import ParallelConfig from vllm.config.parallel import ParallelConfig
from vllm.config.utils import config from vllm.config.utils import config
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.utils import LazyLoader from vllm.utils.import_utils import LazyLoader
if TYPE_CHECKING: if TYPE_CHECKING:
from transformers import PretrainedConfig from transformers import PretrainedConfig
......
...@@ -52,9 +52,9 @@ from vllm.logger import init_logger ...@@ -52,9 +52,9 @@ from vllm.logger import init_logger
from vllm.utils import ( from vllm.utils import (
direct_register_custom_op, direct_register_custom_op,
get_distributed_init_method, get_distributed_init_method,
resolve_obj_by_qualname,
supports_custom_op, supports_custom_op,
) )
from vllm.utils.import_utils import resolve_obj_by_qualname
@dataclass @dataclass
......
...@@ -81,7 +81,8 @@ from vllm.sampling_params import ( ...@@ -81,7 +81,8 @@ from vllm.sampling_params import (
SamplingParams, SamplingParams,
StructuredOutputsParams, StructuredOutputsParams,
) )
from vllm.utils import random_uuid, resolve_obj_by_qualname from vllm.utils import random_uuid
from vllm.utils.import_utils import resolve_obj_by_qualname
EMBED_DTYPE_TO_TORCH_DTYPE = { EMBED_DTYPE_TO_TORCH_DTYPE = {
"float32": torch.float32, "float32": torch.float32,
......
...@@ -32,7 +32,7 @@ from vllm.inputs.data import PromptType ...@@ -32,7 +32,7 @@ from vllm.inputs.data import PromptType
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.model_executor.models import SupportsTranscription from vllm.model_executor.models import SupportsTranscription
from vllm.outputs import RequestOutput from vllm.outputs import RequestOutput
from vllm.utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
try: try:
import librosa import librosa
......
...@@ -12,8 +12,8 @@ from vllm.entrypoints.openai.protocol import ( ...@@ -12,8 +12,8 @@ from vllm.entrypoints.openai.protocol import (
) )
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.transformers_utils.tokenizer import AnyTokenizer from vllm.transformers_utils.tokenizer import AnyTokenizer
from vllm.utils import import_from_path
from vllm.utils.collections import is_list_of from vllm.utils.collections import is_list_of
from vllm.utils.import_utils import import_from_path
logger = init_logger(__name__) logger = init_logger(__name__)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.platforms import current_platform from vllm.platforms import current_platform
from vllm.utils import resolve_obj_by_qualname from vllm.utils.import_utils import resolve_obj_by_qualname
from .punica_base import PunicaWrapperBase from .punica_base import PunicaWrapperBase
......
...@@ -17,7 +17,7 @@ from vllm.logger import init_logger ...@@ -17,7 +17,7 @@ from vllm.logger import init_logger
from vllm.model_executor.models.adapters import _load_st_projector from vllm.model_executor.models.adapters import _load_st_projector
from vllm.pooling_params import PoolingParams from vllm.pooling_params import PoolingParams
from vllm.tasks import PoolingTask from vllm.tasks import PoolingTask
from vllm.utils import resolve_obj_by_qualname from vllm.utils.import_utils import resolve_obj_by_qualname
from vllm.v1.outputs import PoolerOutput from vllm.v1.outputs import PoolerOutput
from vllm.v1.pool.metadata import PoolingCursor, PoolingMetadata from vllm.v1.pool.metadata import PoolingCursor, PoolingMetadata
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment