o
    
Û¾iL
  ã                   @   s  U d dl mZ d dlmZ d dlmZ d dlmZ eeƒZ	eeƒj
ZeeegedB f B Zeed< dededB fd	d
„ZdededB fdd„Zed ed ed ed ed ed ed eed eed ed dœZeeef ed< dededdfdd„ZdedededB fdd„ZdS )é    )ÚCallable)ÚPath)Ú	TypeAlias)Úinit_loggerNÚChatTemplatePathÚtokenizer_name_or_pathÚreturnc                 C   s   |   d¡r	td S td S )Nz-Chatútemplate_chatml.jinjaútemplate_basic.jinja)ÚendswithÚCHAT_TEMPLATES_DIR©r   © r   úc/home/ubuntu/.local/lib/python3.10/site-packages/vllm/transformers_utils/chat_templates/registry.pyÚ _get_qwen_chat_template_fallback   s   
r   c                 C   s    d| v sd| v rt d S t d S )Nz4.5Ú4_5ztemplate_minicpmv45.jinjar	   )r   r   r   r   r   Ú$_get_minicpmv_chat_template_fallback   s   r   ztemplate_blip2.jinjar
   ztemplate_deepseek_ocr.jinjaztemplate_deepseek_vl2.jinjaztemplate_fuyu.jinja)zblip-2Ú	chameleonÚclipÚdeepseek_ocrÚdeepseek_ocr2Údeepseek_vl_v2ÚfuyuÚminicpmvÚ	paligemmaÚqwenÚsiglipÚsiglip2Ú%_MODEL_TYPE_TO_CHAT_TEMPLATE_FALLBACKÚ
model_typeÚchat_templatec                 C   s"   | t v rt d| |¡ |t | < d S )NziModel type %s already has a chat template registered. It will be overwritten by the new chat template %s.)r   ÚloggerÚwarning)r   r    r   r   r   Ú$register_chat_template_fallback_path0   s   ür#   c                 C   s*   t  | ¡}t|ƒr||ƒ}|d u rd S |S )N)r   ÚgetÚcallable)r   r   r    r   r   r   Úget_chat_template_fallback_path?   s   
r&   )Úcollections.abcr   Úpathlibr   Útypingr   Úvllm.loggerr   Ú__file__r!   Úparentr   Ústrr   Ú__annotations__r   r   r   Údictr#   r&   r   r   r   r   Ú<module>   sH   

ôÿþ
ýÿþý