o
    ۷iQ                     @  sp   d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 ej
r)d dlmZ G dd deZdddZdS )    )annotationsN)CLISubcommand)VLLM_SUBCMD_PARSER_EPILOG)OmniBenchmarkSubcommandBase)FlexibleArgumentParserc                   @  s:   e Zd ZdZdZdZeddd	Zdd
dZdddZ	dS )OmniBenchmarkSubcommandz(The `bench` subcommand for the vLLM CLI.benchzvLLM-omni bench subcommand.argsargparse.NamespacereturnNonec                 C  s   |  |  d S Ndispatch_function)r	    r   ^/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm_omni/entrypoints/cli/benchmark/main.pycmd   s   zOmniBenchmarkSubcommand.cmdc                 C  s   d S r   r   )selfr	   r   r   r   validate   s   z OmniBenchmarkSubcommand.validate
subparsersargparse._SubParsersActionr   c              
   C  s   |j | j| jd| j dd}|jddd}t D ]9}|j |j|j|jd| j d|j dd	}|jd
ddd |j|jd |	| t
j| j d|j d|_q|S )Nzvllm z <bench_type> [options])descriptionusageT
bench_type)requireddest z [--omni] [options])helpr   r   z--omni
store_truez=Enable benchmark-Omni mode (always enabled for omni commands))actionr   r   )subcmd)
add_parsernamer   add_subparsersr   __subclasses__add_argumentset_defaultsr   add_cli_argsr   formatepilog)r   r   bench_parserbench_subparserscmd_clscmd_subparserr   r   r   subparser_init   s(   
z&OmniBenchmarkSubcommand.subparser_initN)r	   r
   r   r   )r   r   r   r   )
__name__
__module____qualname____doc__r"   r   staticmethodr   r   r.   r   r   r   r   r      s    
r   r   list[CLISubcommand]c                   C  s   t  gS r   )r   r   r   r   r   cmd_init6   s   r5   )r   r4   )
__future__r   argparsetypingvllm.entrypoints.cli.typesr   vllm.entrypoints.utilsr   (vllm_omni.entrypoints.cli.benchmark.baser   TYPE_CHECKING
vllm.utilsr   r   r5   r   r   r   r   <module>   s    '