Bases: BaseModelLoader
Thin vLLM loader wrapper for ModelExpress.
Source code in vllm/model_executor/model_loader/modelexpress_loader.py
| class ModelExpressModelLoader(BaseModelLoader):
"""Thin vLLM loader wrapper for ModelExpress."""
def __init__(self, load_config: LoadConfig):
super().__init__(load_config)
self._loader = self._load_modelexpress_loader(load_config)
@staticmethod
def _load_modelexpress_loader(load_config: LoadConfig) -> BaseModelLoader:
try:
module = importlib.import_module(_MODELEXPRESS_LOADER_MODULE)
except ModuleNotFoundError as exc:
if exc.name not in _MISSING_MODELEXPRESS_MODULES:
raise
raise _missing_modelexpress_error() from exc
ModelExpressVllmLoader = module.MxModelLoader
return ModelExpressVllmLoader(load_config)
def download_model(self, model_config: ModelConfig) -> None:
self._loader.download_model(model_config)
def load_weights(self, model: nn.Module, model_config: ModelConfig) -> None:
self._loader.load_weights(model, model_config)
@instrument(span_name="Load model")
def load_model(
self,
vllm_config: VllmConfig,
model_config: ModelConfig,
prefix: str = "",
) -> nn.Module:
model = self._loader.load_model(
vllm_config=vllm_config,
model_config=model_config,
prefix=prefix,
)
return model.eval()
|