"...git@developer.sourcefind.cn:2222/OpenDAS/vllm_cscc.git" did not exist on "87f05d6880d0795d658fd4a5dacc0109704a8c4c"
Unverified Commit 45529d06 authored by Joe Chandler's avatar Joe Chandler Committed by GitHub
Browse files

fix: Allow users to set `--kv-transfer-config` for vLLM (#4317)


Signed-off-by: default avatarJoe Chandler <jchandler@glia-ai.com>
parent 429ddf12
...@@ -282,35 +282,34 @@ def parse_args() -> Config: ...@@ -282,35 +282,34 @@ def parse_args() -> Config:
f"Please ensure the file exists and the path is correct." f"Please ensure the file exists and the path is correct."
) )
# Check for conflicting flags normalized = [c.lower() for c in args.connector]
has_kv_transfer_config = (
hasattr(engine_args, "kv_transfer_config")
and engine_args.kv_transfer_config is not None
)
has_connector_flag = args.connector is not None
if has_kv_transfer_config and has_connector_flag: invalid = [c for c in normalized if c not in VALID_CONNECTORS]
if invalid:
raise ValueError( raise ValueError(
"Cannot specify both --kv-transfer-config and --connector flags" f"Invalid connector(s): {', '.join(invalid)}. Valid options are: {', '.join(sorted(VALID_CONNECTORS))}"
) )
if has_connector_flag: # Check for custom kv_transfer_config
normalized = [c.lower() for c in args.connector] has_kv_transfer_config = (
hasattr(engine_args, "kv_transfer_config")
and engine_args.kv_transfer_config is not None
)
invalid = [c for c in normalized if c not in VALID_CONNECTORS] if not normalized or "none" in normalized or "null" in normalized:
if invalid: if len(normalized) > 1:
raise ValueError(
"'none' and 'null' cannot be combined with other connectors"
)
config.connector_list = []
else:
# Check for conflicting flags
if has_kv_transfer_config:
raise ValueError( raise ValueError(
f"Invalid connector(s): {', '.join(invalid)}. Valid options are: {', '.join(sorted(VALID_CONNECTORS))}" "Cannot specify both --kv-transfer-config and --connector flags"
) )
if "none" in normalized or "null" in normalized: config.connector_list = normalized
if len(normalized) > 1:
raise ValueError(
"'none' and 'null' cannot be combined with other connectors"
)
config.connector_list = []
else:
config.connector_list = normalized
if config.engine_args.block_size is None: if config.engine_args.block_size is None:
config.engine_args.block_size = 16 config.engine_args.block_size = 16
...@@ -433,7 +432,12 @@ def create_kv_transfer_config(config: Config) -> Optional[KVTransferConfig]: ...@@ -433,7 +432,12 @@ def create_kv_transfer_config(config: Config) -> Optional[KVTransferConfig]:
def overwrite_args(config): def overwrite_args(config):
"""Set vLLM defaults for Dynamo.""" """Set vLLM defaults for Dynamo."""
if config.has_connector("nixl"): if config.has_connector("nixl") or (
# Check if the user provided their own kv_transfer_config
config.engine_args.kv_transfer_config is not None
# and the connector is NixlConnector
and config.engine_args.kv_transfer_config.kv_connector == "NixlConnector"
):
ensure_side_channel_host() ensure_side_channel_host()
defaults = { defaults = {
......
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