o
    	Ti                     @   s   d dl mZ d dlZd dlZd dlZd dlmZmZ ddlm	Z
 ddlmZ ddlm	Z ddlm	Z ddlm	Z ddlmZ ddlmZ ddlm	Z dd	 Zed
krWe  dS dS )    N)launch_commandlaunch_command_parser   )make_parser)	print_env)	TrlParser)mainc                  C   s  t dddd} | jddt d}t| |jdd	d
 t| t| t| t| | jdd\}}d|v r}|	d}||d  }t
j|rJ|}n!td| d rctd| d}ntd| d|| || dt|g| }|jdkrtdd}t t|g}tjdd  |_t| d S |jdkrt  d S |jdkrtdd}t t|g}tjdd  |_t| d S |jdkrtdd}	t t|	g}tjdd  |_t| d S |jdkrtdd}
tjdd  }t |t|
g | }t| d S |jdkr>|  \}|jdkr8|jdkr8tdt  t!| d S d S ) NzTRL CLItrlF)progusageallow_abbrevzavailable commandscommand)helpdestparser_classenvz!Print the environment information)r   T)return_remaining_stringsz--accelerate_configr   ztrl.accelerate_configsz.yamlzAccelerate config zz is neither a file nor a valid config in the `trl` package. Please provide a valid config name or a path to a config file.z--config_filedpoztrl.scriptszdpo.py   grpozgrpo.pyktozkto.pysftzsft.pyz
vllm-servea  Detected configuration: tensor_parallel_size=1 and data_parallel_size>1. This setup is known to cause a crash when using the `trl vllm-serve` CLI entry point. As a workaround, please run the server using the module path instead: `python -m trl.scripts.vllm_serve`)"r   add_subparsersmake_dpo_parser
add_parsermake_grpo_parsermake_kto_parsermake_sft_parsermake_vllm_serve_parserparse_args_and_configindexospathisfile	resourcesfilesjoinpathexists
ValueErrorpopstrr   r   
parse_argssysargvtraining_script_argsr   r   tensor_parallel_sizedata_parallel_sizewarningswarnRuntimeWarningvllm_serve_main)parser
subparsersargslaunch_argsconfig_indexconfig_nameaccelerate_config_pathdpo_training_scriptgrpo_training_scriptkto_training_scriptsft_training_scriptr.   script_args rA   ;/home/ubuntu/.local/lib/python3.10/site-packages/trl/cli.pyr       sj   









r   __main__)importlib.resourcesr$   r!   r,   r1   accelerate.commands.launchr   r   scripts.dpor   r   scripts.envr   scripts.grpor   scripts.ktor   scripts.sftr   scripts.utilsr   scripts.vllm_server   r4   r   __name__rA   rA   rA   rB   <module>   s"   h
