+
    œ°³j  ã                   ó¾   € R t ^RIHt ^RIHt ^RIHtHtHt ^RI	H
t
HtHt ^RIHtHt ]P                   ! ]4      t ! R R]RR	7      t] ! R
 R]4      4       tR.tR# )zq
Processor class for InstructBLIP. Largely copy of Blip2Processor with addition of a tokenizer for the Q-Former.
)ÚBatchFeature)Ú
ImageInput)ÚProcessingKwargsÚProcessorMixinÚUnpack)Ú
AddedTokenÚPreTokenizedInputÚ	TextInput)Úauto_docstringÚloggingc                   óB   € ] tR t^tRRRRRR^ RRRRR	RR
RRRRR/	/tRtR# )ÚInstructBlipProcessorKwargsÚtext_kwargsÚadd_special_tokensTÚpaddingFÚstrideÚreturn_overflowing_tokensÚreturn_special_tokens_maskÚreturn_offsets_mappingÚreturn_token_type_idsÚreturn_lengthÚverbose© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	_defaultsÚ__static_attributes__r   ó    Úy/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/instructblip/processing_instructblip.pyr   r      s>   † àØ  $Ø�uØ�aØ'¨Ø(¨%Ø$ eØ# UØ˜UØ�tð

ð„Ir   r   F)Útotalc                   óf   a a€ ] tR t^,t oRV 3R llt]RV3R lR ll4       t]R 4       tRt	Vt
V ;t# )ÚInstructBlipProcessorc                óÞ   <€ \        VR4      '       g3   \        RRRR7      V n        VP                  V P                  .RR7       MVP                  V n        W@n        \
        SV `  WV4       R# )a  
qformer_tokenizer (`AutoTokenizer`):
    An instance of ['PreTrainedTokenizer`]. The Q-Former tokenizer is a required input.
num_query_tokens (`int`, *optional*):
    "
    Number of tokens used by the Qformer as queries, should be same as in model's config.
Úimage_tokenz<image>FT)Ú
normalizedÚspecial)Úspecial_tokensN)Úhasattrr   r%   Ú
add_tokensÚnum_query_tokensÚsuperÚ__init__)ÚselfÚimage_processorÚ	tokenizerÚqformer_tokenizerr+   ÚkwargsÚ	__class__s   &&&&&,€r    r-   ÚInstructBlipProcessor.__init__.   sc   ø€ ô �y -×0Ò0Ü)¨)ÀÈtÔTˆDÔØ× Ñ  $×"2Ñ"2Ð!3ÀDÐ ÕIà(×4Ñ4ˆDÔØ 0Ôä‰Ñ˜Ð5FÖGr   c                ó    <€ V ^8„  d   QhRS[ R,          RS[S[,          S[S[,          ,          S[S[,          ,          RS[S[,          RS[/# )é   ÚimagesNÚtextr2   Úreturn)r   r	   r   Úlistr   r   r   )ÚformatÚ__classdict__s   "€r    Ú__annotate__Ú"InstructBlipProcessor.__annotate__@   sX   ø€ ÷ 1ñ 1á˜TÕ!ð1ñ Ñ+Õ+©d±9­oÕ=ÁÑEVÕ@WÕWð1ñ Ñ4Õ5ð	1ñ
 
ñ1r   c                ó‚  € Vf   Vf   \        R4      hV P                  ! \        3RV P                  P                  /VB pVR,          P                  RR 4      p/ pVEeŸ   \        V\        4      '       d   V.pM>\        V\        4      '       d   \        V^ ,          \        4      '       g   \        R4      hV P                  ! V3/ VR,          B pVP                  R4      VR&   VP                  R4      VR	&   VR,          P                  R
4      e'   VR,          R
;;,          V P                  ,          uu&   V P                  ! V3/ VR,          B pVe–   V P                  P                  V P                  ,          p	RVR,          R&   RVR,          R&   RVR,          R&   V P                  ! V	3/ VR,          B p
V F*  pW‹,           Uu. uF  qÊV,          V,           NK  	  upW‹&   K,  	  VP                  V4       Ve,   V P                  ! V3/ VR,          B pVP                  V4       \!        WeR7      pV# u upi )Nz,You have to specify at least images or text.Útokenizer_init_kwargsr   Úreturn_tensorszAInvalid input text. Please provide a string, or a list of stringsÚ	input_idsÚqformer_input_idsÚattention_maskÚqformer_attention_maskÚ
max_lengthFr   r   Ú
truncationÚimages_kwargs)Útensor_type)Ú
ValueErrorÚ_merge_kwargsr   r0   Úinit_kwargsÚpopÚ
isinstanceÚstrr:   r1   Úgetr+   r%   ÚcontentÚupdater/   r   )r.   r7   r8   r2   Úoutput_kwargsrA   ÚencodingÚqformer_text_encodingÚtext_encodingÚimage_tokensÚimage_text_encodingÚkÚsampleÚimage_encodings   &&&,          r    Ú__call__ÚInstructBlipProcessor.__call__?   s(  € ð Š>˜dšlÜÐKÓLÐLà×*Ò*Ü'ñ
à"&§.¡.×"<Ñ"<ð
ð ñ
ˆð ' }Õ5×9Ñ9Ð:JÈDÓQˆØˆØÓÜ˜$¤×$Ò$Ø�v‘Ü ¤d×+Ò+´:¸dÀ1½gÄs×3KÒ3KÜ Ð!dÓeÐeà$(×$:Ò$:¸4Ñ$`À=ÐQ^ÕC_Ñ$`Ð!Ø,A×,EÑ,EÀkÓ,RˆHÐ(Ñ)Ø1F×1JÑ1JÐK[Ó1\ˆHÐ-Ñ.ð ˜]Õ+×/Ñ/°Ó=ÒIØ˜mÕ,¨\×:¸d×>SÑ>SÕSÓ:Ø ŸNšN¨4ÑP°=ÀÕ3OÑPˆMàÒ!à#×/Ñ/×7Ñ7¸$×:OÑ:OÕO�ØEJ�˜mÕ,Ð-AÑBØ:?�˜mÕ,¨YÑ7Ø=B�˜mÕ,¨\Ñ:Ø&*§n¢n°\Ñ&bÀ]ÐS`ÕEaÑ&bÐ#Û&�AØVcÖVfÓ'gÑVfÈF¸AÕ(>À×(GÐ(GÑVfÑ'g�MÓ$ñ 'à�O‰O˜MÔ*àÒØ!×1Ò1°&Ñ[¸MÈ/Õ<ZÑ[ˆNØ�O‰O˜NÔ+ô   ÔEˆØˆùò (hs   ÇH<c                ó€   € V P                   P                  pV P                  P                  pR R.pW,           V,           # )rC   rE   )r0   Úmodel_input_namesr/   )r.   Útokenizer_input_namesÚimage_processor_input_namesÚqformer_input_namess   &   r    r_   Ú'InstructBlipProcessor.model_input_namess   s?   € à $§¡× @Ñ @ÐØ&*×&:Ñ&:×&LÑ&LÐ#Ø2Ð4LÐMÐØ$ÕBÐEXÕXÐXr   )r%   r+   )N)NN)r   r   r   r   r-   r
   r\   Úpropertyr_   r   Ú__classdictcell__Ú__classcell__)r3   r<   s   @@r    r#   r#   ,   sA   ù‡ € ÷Hð" ÷1ñ 1ó ð1ðf ñYó ÷Yð Yr   r#   N)Ú__doc__Úimage_processing_utilsr   Úimage_utilsr   Úprocessing_utilsr   r   r   Útokenization_utils_baser   r   r	   Úutilsr
   r   Ú
get_loggerr   Úloggerr   r#   Ú__all__r   r   r    Ú<module>rp      sn   ðñõ 3Ý %ß HÑ Hß OÑ Oß ,ð 
×	Ò	˜HÓ	%€ôÐ"2¸%õ ð  ôKY˜Nó KYó ðKYð\ #Ð
#‚r   