2929# yapf: enable
3030from vllm .logger import init_logger
3131from vllm .outputs import RequestOutput
32+ from vllm .transformers_utils .config import (
33+ maybe_register_config_serialize_by_value )
3234from vllm .usage .usage_lib import UsageContext
3335from vllm .worker .model_runner_base import InputProcessingError
3436
@@ -42,12 +44,12 @@ class MQLLMEngine:
4244 """A multiprocessing wrapper for :class:`LLMEngine`.
4345
4446 This class is used to wrap the :class:`LLMEngine` class to enable use
45- in concurrnet manner. It runs a background loop and uses zeromq to
47+ in concurrnet manner. It runs a background loop and uses zeromq to
4648 receive new requests and stream outputs incrementally via ipc.
47-
49+
4850 The :class:`LLMEngine` generate or encode process is kicked off when a new
4951 RPCProcessRequest is received by the input_socket.
50-
52+
5153 The self.engine_loop checks the input_socket for new requests,
5254 adds them to the LLMEngine if there are any, calls the internal
5355 :class:`LLMEngine.step()`, and sends the RequestOutputs back over
@@ -428,6 +430,9 @@ def run_mp_engine(vllm_config: VllmConfig, usage_context: UsageContext,
428430 ipc_path : str , disable_log_stats : bool ,
429431 disable_log_requests : bool , engine_alive ):
430432 try :
433+ # Ensure we can serialize transformer config before spawning
434+ maybe_register_config_serialize_by_value ()
435+
431436 engine = MQLLMEngine .from_vllm_config (
432437 vllm_config = vllm_config ,
433438 usage_context = usage_context ,
0 commit comments