"tests/vscode:/vscode.git/clone" did not exist on "7015417fd4910a47263ea34c79c2cdb2ff314fdf"
main.py 1.81 KB
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4
import argparse

5
import vllm.entrypoints.cli.benchmark.latency
6
import vllm.entrypoints.cli.benchmark.serve
7
import vllm.entrypoints.cli.benchmark.throughput
8
9
10
11
from vllm.entrypoints.cli.types import CLISubcommand
from vllm.utils import FlexibleArgumentParser

BENCHMARK_CMD_MODULES = [
12
    vllm.entrypoints.cli.benchmark.latency,
13
    vllm.entrypoints.cli.benchmark.serve,
14
    vllm.entrypoints.cli.benchmark.throughput,
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
]


class BenchmarkSubcommand(CLISubcommand):
    """ The `bench` subcommand for the vLLM CLI. """

    def __init__(self):
        self.name = "bench"
        super().__init__()

    @staticmethod
    def cmd(args: argparse.Namespace) -> None:
        args.dispatch_function(args)

    def validate(self, args: argparse.Namespace) -> None:
        if args.bench_type in self.cmds:
            self.cmds[args.bench_type].validate(args)

    def subparser_init(
            self,
            subparsers: argparse._SubParsersAction) -> FlexibleArgumentParser:
        bench_parser = subparsers.add_parser(
            "bench",
            help="vLLM bench subcommand.",
39
            description="vLLM bench subcommand.",
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
            usage="vllm bench <bench_type> [options]")
        bench_subparsers = bench_parser.add_subparsers(required=True,
                                                       dest="bench_type")
        self.cmds = {}
        for cmd_module in BENCHMARK_CMD_MODULES:
            new_cmds = cmd_module.cmd_init()
            for cmd in new_cmds:
                cmd.subparser_init(bench_subparsers).set_defaults(
                    dispatch_function=cmd.cmd)
                self.cmds[cmd.name] = cmd
        return bench_parser


def cmd_init() -> list[CLISubcommand]:
    return [BenchmarkSubcommand()]