o
    پis                     @   s@   d dl mZmZ d dlmZ d dlmZmZ G dd deZdS )    )ListUnion)MultiModalityCausalLM)BaseMultimodalProcessorMultimodalSpecialTokensc                       s<   e Zd ZegZ fddZdeeee	f  fddZ
  ZS )JanusProImageProcessorc                    s:   t  j|||g|R i | t|j|jd|| _d S )N)image_tokenimage_token_id)super__init__r   r   image_idbuild	mm_tokens)self	hf_configserver_args
_processorargskwargs	__class__ ^/home/ubuntu/.local/lib/python3.10/site-packages/sglang/srt/multimodal/processors/janus_pro.pyr      s   zJanusProImageProcessor.__init__
image_datac           	         sN   | j ||| jd}| j|| j|jd\}}}|| | jj| jj| jjdS )N)promptr   multimodal_tokens)r   )mm_items	input_idsim_start_id	im_end_idim_token_id)	load_mm_datar   process_and_combine_mm_data
input_texttolistr   image_start_idimage_end_idr	   )	r   r   r#   request_objr   base_outr   r   _r   r   r   process_mm_data_async   s   
z,JanusProImageProcessor.process_mm_data_async)__name__
__module____qualname__r   modelsr   r   r   strbytesr*   __classcell__r   r   r   r   r   
   s    r   N)	typingr   r   $sglang.srt.models.deepseek_janus_pror   /sglang.srt.multimodal.processors.base_processorr   r   r   r   r   r   r   <module>   s    