o
    yqiu  ã                   @   sH   d dl mZmZ ddlmZmZmZ ddlmZm	Z	 dd„ Z
dd„ Zd	S )
é   )Ú is_genai_engine_plugin_availableÚrequire_genai_engine_pluginé   )Úbackend_config_to_argsÚset_config_defaultsÚupdate_backend_config)ÚALL_MODEL_NAMESÚget_model_componentsc                  C   sN   ddl m}  tdƒr#tD ]}||  ¡ vr"t|dƒ\}}|  |j|¡ qd S d S )Né    )ÚModelRegistryúvllm-serverÚvllm)r   r   r   r   Zget_supported_archsr	   Zregister_modelÚ__name__)r   Ú
model_nameZnet_clsÚ_© r   úl/home/app/PaddleOCR-VL/.venv_paddleocr/lib/python3.10/site-packages/paddlex/inference/genai/backends/vllm.pyÚregister_models   s   €ür   c                 C   s¢   t dƒ dd l}ddlm}m}m}	m}
m} |ƒ  |ƒ }|	|ƒ}t|d|iƒ |r2t|dt	|ƒiƒ t
||| |dœƒ t|ƒ}| |¡}||ƒ | |
|ƒ¡ d S )Nr   r
   )ÚFlexibleArgumentParserÚcli_env_setupÚmake_arg_parserÚ
run_serverÚvalidate_parsed_serve_argszserved-model-namezchat-template)ÚmodelÚhostÚport)r   ÚuvloopZ"vllm.entrypoints.openai.api_serverr   r   r   r   r   r   Ústrr   r   Ú
parse_argsÚrun)r   r   r   Z	model_dirÚconfigZchat_template_pathr   r   r   r   r   r   ÚparserÚargsr   r   r   Úrun_vllm_server"   s(   ýþ	
r#   N)Z
utils.depsr   r   Zconfigs.utilsr   r   r   Úmodelsr   r	   r   r#   r   r   r   r   Ú<module>   s
   
