o
    پi                     @   sJ   d dl Z d dlZd dlZd dlmZmZ d dlmZ ee	Z
dd ZdS )    N)get_is_diffusion_modelget_model_path)kill_process_treec              
      sh  t  fdddD rPtd td td td td d	d
lm} z|dg W n	 ty5   Y nw td d	dlm} tjdd}|| |	  d S t
 }zVt|}|r`td |rd	dlm}m} tjdd}|| | \}}	|||	 nd	dlm}
 d	d
lm} | }|
| W tt dd d S W tt dd d S tt dd w )Nc                 3   s    | ]}| v V  qd S )N ).0h
extra_argvr   D/home/ubuntu/.local/lib/python3.10/site-packages/sglang/cli/serve.py	<genexpr>   s    zserve.<locals>.<genexpr>)z-h--helpzMUsage: sglang serve --model-path <model-name-or-path> [additional-arguments]
z\This command can launch either a standard language model server or a diffusion model server.z1The server type is determined by the model path.
z4For specific arguments, please provide a model_path.z0
--- Help for Standard Language Model Server ---r   )prepare_server_argsr   z(
--- Help for Diffusion Model Server ---)add_multimodal_gen_serve_argszSGLang Diffusion Model Serving)descriptionzDiffusion model detected)r   execute_serve_cmd)
run_serverF)include_parent)anyprintsglang.srt.server_argsr   
SystemExit3sglang.multimodal_gen.runtime.entrypoints.cli.server   argparseArgumentParser
print_helpr   r   loggerinfor   parse_known_argssglang.launch_serverr   r   osgetpid)argsr	   r   r   parser
model_pathis_diffusion_modelr   parsed_argsremaining_argvr   server_argsr   r   r
   serve   sT   

&r(   )r   loggingr   sglang.cli.utilsr   r   sglang.srt.utilsr   	getLogger__name__r   r(   r   r   r   r
   <module>   s   
