o
    پi&                     @   sT   d dl Z d dlmZ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dS )    N)DictListUnion)KimiVLForConditionalGeneration)BaseMultimodalProcessor)MultimodalSpecialTokensc                       s>   e Zd ZegZ fddZdeeee	e
f  fddZ  ZS )KimiVLImageProcessorc                    s@   t  j|||g|R i | td|jtdd|| _d S )Nz<|media_pad|>z(?:<\|media_pad\|>)+)image_tokenimage_token_idimage_token_regex)super__init__r   media_placeholder_token_idrecompilebuild	mm_tokens)self	hf_configserver_args
_processorargskwargs	__class__ \/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/multimodal/processors/kimi_vl.pyr      s   zKimiVLImageProcessor.__init__
image_datac           
         s<   | j ||| jd}| || j\}}}	| || jjdS )N)promptr   multimodal_tokens)	input_idsmm_itemsim_token_id)load_mm_datar   process_and_combine_mm_datatolistr
   )
r   r   
input_textrequest_objr   r   base_outputr!   r    _r   r   r   process_mm_data_async   s   
z*KimiVLImageProcessor.process_mm_data_async)__name__
__module____qualname__r   modelsr   r   r   strbytesr   r*   __classcell__r   r   r   r   r      s    	r   )r   typingr   r   r   sglang.srt.models.kimi_vlr   /sglang.srt.multimodal.processors.base_processorr   SGLangBaseProcessorr   r   r   r   r   r   <module>   s    