Unverified Commit 5e11b403 authored by Alex Brooks's avatar Alex Brooks Committed by GitHub
Browse files

[Frontend] Delegate to vLLM Omni When `--omni` Passed (#40744)


Signed-off-by: default avatarAlex Brooks <albrooks@redhat.com>
parent f768b447
...@@ -7,6 +7,7 @@ to avoid certain eager import breakage.""" ...@@ -7,6 +7,7 @@ to avoid certain eager import breakage."""
import importlib.metadata import importlib.metadata
import sys import sys
from importlib.util import find_spec
from vllm.logger import init_logger from vllm.logger import init_logger
...@@ -34,47 +35,63 @@ def main(): ...@@ -34,47 +35,63 @@ def main():
cli_env_setup() cli_env_setup()
# For 'vllm bench *': use CPU instead of UnspecifiedPlatform by default # If `--omni` arg is passed to the CLI, delegate to vLLM Omni's entrypoint handling
if len(sys.argv) > 1 and sys.argv[1] == "bench": if "--omni" in sys.argv:
logger.debug( # NOTE: Check the spec instead of importing directly here, since things could
"Bench command detected, must ensure current platform is not " # fail with ImportError due to mismatched versions if things are moved around.
"UnspecifiedPlatform to avoid device type inference error" spec = find_spec("vllm_omni")
) if spec is None:
from vllm import platforms logger.error(
"--omni flag requires a valid instance of vllm-omni to be installed."
)
sys.exit(1)
if platforms.current_platform.is_unspecified(): from vllm_omni.entrypoints.cli.main import main as omni_main
from vllm.platforms.cpu import CpuPlatform
platforms.current_platform = CpuPlatform() logger.info("Delegating entrypoint handling to vllm-omni")
logger.info( omni_main()
"Unspecified platform detected, switching to CPU Platform instead." else:
# For 'vllm bench *': use CPU instead of UnspecifiedPlatform by default
if len(sys.argv) > 1 and sys.argv[1] == "bench":
logger.debug(
"Bench command detected, must ensure current platform is not "
"UnspecifiedPlatform to avoid device type inference error"
) )
from vllm import platforms
parser = FlexibleArgumentParser( if platforms.current_platform.is_unspecified():
description="vLLM CLI", from vllm.platforms.cpu import CpuPlatform
epilog=VLLM_SUBCMD_PARSER_EPILOG.format(subcmd="[subcommand]"),
) platforms.current_platform = CpuPlatform()
parser.add_argument( logger.info(
"-v", "Unspecified platform detected, switching to CPU Platform instead."
"--version", )
action="version",
version=importlib.metadata.version("vllm"), parser = FlexibleArgumentParser(
) description="vLLM CLI",
subparsers = parser.add_subparsers(required=False, dest="subparser") epilog=VLLM_SUBCMD_PARSER_EPILOG.format(subcmd="[subcommand]"),
cmds = {} )
for cmd_module in CMD_MODULES: parser.add_argument(
new_cmds = cmd_module.cmd_init() "-v",
for cmd in new_cmds: "--version",
cmd.subparser_init(subparsers).set_defaults(dispatch_function=cmd.cmd) action="version",
cmds[cmd.name] = cmd version=importlib.metadata.version("vllm"),
args = parser.parse_args() )
if args.subparser in cmds: subparsers = parser.add_subparsers(required=False, dest="subparser")
cmds[args.subparser].validate(args) cmds = {}
for cmd_module in CMD_MODULES:
if hasattr(args, "dispatch_function"): new_cmds = cmd_module.cmd_init()
args.dispatch_function(args) for cmd in new_cmds:
else: cmd.subparser_init(subparsers).set_defaults(dispatch_function=cmd.cmd)
parser.print_help() cmds[cmd.name] = cmd
args = parser.parse_args()
if args.subparser in cmds:
cmds[args.subparser].validate(args)
if hasattr(args, "dispatch_function"):
args.dispatch_function(args)
else:
parser.print_help()
if __name__ == "__main__": if __name__ == "__main__":
......
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