diff --git a/python/sglang/cli/main.py b/python/sglang/cli/main.py index 76f11c502..36ed5ae5e 100644 --- a/python/sglang/cli/main.py +++ b/python/sglang/cli/main.py @@ -1,7 +1,5 @@ import argparse -from sglang.cli.generate import generate -from sglang.cli.serve import serve from sglang.cli.utils import get_git_commit_hash from sglang.version import __version__ @@ -17,19 +15,17 @@ def main(): # complex sub commands subparsers = parser.add_subparsers(dest="subcommand", required=True) - serve_parser = subparsers.add_parser( + subparsers.add_parser( "serve", help="Launch the SGLang server.", - add_help=False, # Defer help to the specific parser + add_help=False, ) - serve_parser.set_defaults(func=serve) - generate_parser = subparsers.add_parser( + subparsers.add_parser( "generate", help="Run inference on a multimodal model.", - add_help=False, # Defer help to the specific parser + add_help=False, ) - generate_parser.set_defaults(func=generate) # simple commands version_parser = subparsers.add_parser( @@ -39,4 +35,14 @@ def main(): version_parser.set_defaults(func=version) args, extra_argv = parser.parse_known_args() - args.func(args, extra_argv) + + if args.subcommand == "serve": + from sglang.cli.serve import serve + + serve(args, extra_argv) + elif args.subcommand == "generate": + from sglang.cli.generate import generate + + generate(args, extra_argv) + elif args.subcommand == "version": + version(args, extra_argv) diff --git a/python/sglang/cli/serve.py b/python/sglang/cli/serve.py index 5beebb04b..03dd6a422 100644 --- a/python/sglang/cli/serve.py +++ b/python/sglang/cli/serve.py @@ -111,8 +111,6 @@ def serve(args, extra_argv): from sglang.launch_server import run_server from sglang.srt.server_args import prepare_server_args - # Add a dummy argument for the program name, expected by prepare_server_args - # as it typically processes sys.argv server_args = prepare_server_args(dispatch_argv) run_server(server_args)