diff --git a/vllm_ascend/distributed/kv_transfer/utils/mooncake_transfer_engine.py b/vllm_ascend/distributed/kv_transfer/utils/mooncake_transfer_engine.py index 3527f9cd..7cf309b0 100644 --- a/vllm_ascend/distributed/kv_transfer/utils/mooncake_transfer_engine.py +++ b/vllm_ascend/distributed/kv_transfer/utils/mooncake_transfer_engine.py @@ -1,7 +1,5 @@ import threading -from mooncake.engine import TransferEngine # type: ignore - class GlobalTE: def __init__(self): @@ -15,8 +13,14 @@ class GlobalTE: with self.transfer_engine_lock: # Double-Checked Locking if self.transfer_engine is None: - if TransferEngine is None: - raise RuntimeError("mooncake is not available") + try: + from mooncake.engine import TransferEngine # type: ignore + except ImportError as e: + raise ImportError( + "Please install mooncake by following the instructions at " + "https://github.com/kvcache-ai/Mooncake/blob/main/doc/en/build.md " # noqa: E501 + "to run vLLM with MooncakeConnector." + ) from e self.transfer_engine = TransferEngine() device_name = device_name if device_name is not None else "" ret_value = self.transfer_engine.initialize(hostname, "P2PHANDSHAKE", "ascend", device_name)