
    qi                         d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
 ddlmZ  G d ded	      Ze G d
 de             ZdgZy)z
Processor class for Blip.
   )
ImageInput)ProcessingKwargsProcessorMixinUnpack)BatchEncodingPreTokenizedInput	TextInput)auto_docstringc                   (    e Zd Zddddddddddd	iZy)BlipProcessorKwargstext_kwargsTF    )	add_special_tokenspaddingstridereturn_overflowing_tokensreturn_special_tokens_maskreturn_offsets_mappingreturn_token_type_idsreturn_lengthverboseN)__name__
__module____qualname__	_defaults     Z/opt/pipecat/venv/lib/python3.12/site-packages/transformers/models/blip/processing_blip.pyr   r      s,    "&).*/&+%*"

Ir   r   F)totalc            
            e Zd Z fdZe	 	 d	dedz  deee   z  ez  e	z  dz  de
e   defd       Zed        Z xZS )
BlipProcessorc                 4    d|_         t        | 	  ||       y )NF)r   super__init__)selfimage_processor	tokenizerkwargs	__class__s       r   r$   zBlipProcessor.__init__*   s    */	')4r   Nimagestextr(   returnc                    ||t        d      d } | j                  t        fd| j                  j                  i|}| | j                  |fi |d   }|+ | j
                  |fi |d   }||j                  |       |S |S )Nz*You have to specify either images or text.tokenizer_init_kwargsr   images_kwargs)
ValueError_merge_kwargsr   r'   init_kwargsr&   update)r%   r*   r+   r(   text_encodingoutput_kwargsencoding_image_processors          r   __call__zBlipProcessor.__call__.   s     >dlIJJ +**
"&.."<"<
 

 *DNN4P=3OPM';t';';F'emTcFd'e$((//>++r   c                     | j                   j                  }| j                  j                  }|D cg c]
  }|dk7  s	| }}||z   S c c}w )Ntoken_type_ids)r'   model_input_namesr&   )r%   tokenizer_input_namesimage_processor_input_namesnames       r   r:   zBlipProcessor.model_input_namesL   sR     $ @ @&*&:&:&L&L#2G d$4ScKc d d$'BBB !es
   
AA)NN)r   r   r   r$   r
   r   strlistr	   r   r   r   r   r7   propertyr:   __classcell__)r)   s   @r   r!   r!   (   s    5  %)GKT! DIo	),==D ,-	
 
 : C Cr   r!   N)__doc__image_utilsr   processing_utilsr   r   r   tokenization_utils_baser   r   r	   utilsr
   r   r!   __all__r   r   r   <module>rH      sV    & H H R R #*%   (CN (C (CV 
r   