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,19 +282,6 @@ def parse_args() -> Config:
f"Please ensure the file exists and the path is correct."
)
# Check for conflicting flags
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:
raise ValueError(
"Cannot specify both --kv-transfer-config and --connector flags"
)
if has_connector_flag:
normalized = [c.lower() for c in args.connector]
invalid = [c for c in normalized if c not in VALID_CONNECTORS]
......@@ -303,13 +290,25 @@ def parse_args() -> Config:
f"Invalid connector(s): {', '.join(invalid)}. Valid options are: {', '.join(sorted(VALID_CONNECTORS))}"
)
if "none" in normalized or "null" in normalized:
# Check for custom kv_transfer_config
has_kv_transfer_config = (
hasattr(engine_args, "kv_transfer_config")
and engine_args.kv_transfer_config is not None
)
if not normalized or "none" in normalized or "null" in normalized:
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(
"Cannot specify both --kv-transfer-config and --connector flags"
)
config.connector_list = normalized
if config.engine_args.block_size is None:
......@@ -433,7 +432,12 @@ def create_kv_transfer_config(config: Config) -> Optional[KVTransferConfig]:
def overwrite_args(config):
"""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()
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