o
    پiG                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 G dd deZG dd	 d	eZG d
d deZeee dS )    )Optional)AutoProcessorQwen2_5_VLProcessor)BaseImageProcessor)Qwen2Config)DotsVisionConfigc                       s>   e Zd ZdZ			d
dee f fddZ fdd	Z  ZS )DotsOCRConfigdots_ocrqP hP Nvision_configc                    s6   t  j|i | || _|| _tdi |pi | _d S )N )super__init__image_token_idvideo_token_idr   r   )selfr   r   r   argskwargs	__class__r   O/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/configs/dots_ocr.pyr      s   zDotsOCRConfig.__init__c                    s   d | _ t j|fi | d S N)_auto_classr   save_pretrained)r   save_directoryr   r   r   r   r      s   zDotsOCRConfig.save_pretrained)r
   r   N)	__name__
__module____qualname__
model_typer   dictr   r   __classcell__r   r   r   r   r   
   s    r   c                   @   s   e Zd ZdgZdd ZdS )DummyVideoProcessorpixel_valuesc                 O   s   d S r   r   )r   r   r   r   r   r   __call__"   s   zDummyVideoProcessor.__call__N)r   r   r   model_input_namesr$   r   r   r   r   r"      s    r"   c                       s&   e Zd Z				d fdd	Z  ZS )DotsVLProcessorNc                    sf   |d u rt  }t j||||d t|dsdn|j| _t|dd d ur*|j| _d S || j| _d S )N)chat_templateimage_tokenz
<|imgpad|>r   )r"   r   r   hasattrr(   getattrr   convert_tokens_to_ids)r   image_processor	tokenizervideo_processorr'   r   r   r   r   r   '   s   
zDotsVLProcessor.__init__)NNNN)r   r   r   r   r!   r   r   r   r   r&   &   s    r&   N)typingr   transformersr   r   #transformers.image_processing_utilsr   transformers.models.qwen2r   sglang.srt.configs.dots_vlmr   r   r"   r&   registerr   r   r   r   <module>   s    