+
    œ°³j€1  ã                   óä  € ^ RI Ht ^ RIt^ RIHt ^ RIHt ^RIHtH	t	 ^RI
Ht ^RIHtHt ^RIHt ^RIHtHt ^R	IHt ^R
IHt ^RIHtHtHt ^RIHt ^RIHtH t H!t!H"t"H#t#H$t$H%t%H&t& ^RI'H(t( ]PR                  ! ]*4      t+]! RR7      ] ! R R]4      4       4       t, ! R R]$4      t- ! R R]"4      t. ! R R]4      t/ ! R R] 4      t0 ! R R]#4      t1 ! R R](4      t2 ! R R ]!4      t3. R!Ot4R# )"é    )ÚCallableN)Ústrict)ÚCacheÚDynamicCache)ÚPreTrainedConfig)Úcreate_causal_maskÚ!create_sliding_window_causal_mask)ÚBaseModelOutputWithPast)ÚRopeParametersÚdynamic_rope_update)ÚALL_ATTENTION_FUNCTIONS)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚlogging)Úmaybe_autocast)ÚCohereAttentionÚCohereDecoderLayerÚCohereForCausalLMÚCohereLayerNormÚCoherePreTrainedModelÚCohereRotaryEmbeddingÚapply_rotary_pos_embÚeager_attention_forward)ÚGemma2ModelzCohereForAI/c4ai-command-r-v01)Ú
checkpointc                   óê   a a€ ] tR t^1t oRtRtR.tRRRRRRRR	R
RRRRR	/tRR.R.3RRR.R.3RR.R.3/tRt	Rt
RtRt^(t^@tRtRtRtRtRtRt^ t^tRtRtRtRtRtR tRtV 3R! ltV3R" ltR#t Vt!V ;t"# )$ÚCohere2ConfigaÖ  
logit_scale (`float`, *optional*, defaults to 0.0625):
    The scaling factor for the output logits.

```python
>>> from transformers import Cohere2Model, Cohere2Config

>>> # Initializing a Cohere Nextmodel configuration
>>> configuration = Cohere2Config()

>>> # Initializing a model from the Cohere2 configuration
>>> model = Cohere2Model(configuration) # doctest: +SKIP

>>> # Accessing the model configuration
>>> configuration = model.config # doctest: +SKIP
```
Úcohere2Úpast_key_valueszlayers.*.self_attn.q_projÚcolwisezlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projÚrowwisezlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormi è i    i X  g      °?NÚsilug{®Gáz”?gñhãˆµøä>Tiä Fç        i   c                óŠ  <€ V P                   f   V P                  V n         V P                  V P                  ,          V n        V P                  f^   VP                  R^4      p\        V P                  4       Uu. uF&  p\        V^,           V,          4      '       d   RMRNK(  	  upV n        \        SV `(  ! R/ VB  R # u upi )NÚsliding_window_patternÚsliding_attentionÚfull_attention© )Únum_key_value_headsÚnum_attention_headsÚhidden_sizeÚhead_dimÚlayer_typesÚpopÚrangeÚnum_hidden_layersÚboolÚsuperÚ__post_init__)ÚselfÚkwargsÚ_sliding_window_patternÚiÚ	__class__s   &,  €Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/cohere2/modular_cohere2.pyr;   ÚCohere2Config.__post_init__m   s¶   ø€ Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$ð ×(Ñ(¨D×,DÑ,DÕDˆŒð ×ÑÒ#à&,§j¡jÐ1IÈ1Ó&MÐ#ô ˜t×5Ñ5Ô6ó á6�Aô (,¨Q°­UÐ6MÕ,M×'NÒ'NÑ#ÐTdÒdÙ6ñ ˆDÔô
 	‰ÒÑ' Ô'ùò s   Á:,C c                óÈ  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[ ;R&   S[ ;R&   S[ R,          ;R&   S[;R	&   S[ ;R
&   S[;R&   S[;R&   S[;R&   S[ R,          ;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[;R&   S[S[,          R,          ;R&   S[;R&   S[S[ ,          ;R&   S[ R,          ;R&   S[S[,          R,          ;R&   # )é   Ú
vocab_sizer3   Úintermediate_sizeÚlogit_scaler8   r2   Nr1   Ú
hidden_actÚmax_position_embeddingsÚinitializer_rangeÚlayer_norm_epsÚ	use_cacheÚpad_token_idÚbos_token_idÚeos_token_idÚtie_word_embeddingsÚrope_parametersÚattention_biasÚattention_dropoutÚsliding_windowr5   )ÚintÚfloatÚstrr9   Úlistr   Údict)ÚformatÚ__classdict__s   "€rA   Ú__annotate__ÚCohere2Config.__annotate__1   st  ø‡ ‚ ñL ÑñM ñN ÑñO ñP Ñ"ñQ ñR ÑñS ñT ÑñU ñV Ñ!ñW ñX ˜t�Ñ*ñY ñZ Ññ[ ñ\ !Ñ'ñ] ñ^ Ñ#ñ_ ñ` Ñ ña ñb Ññc ñd ˜•*Ñ ñe ñf ˜•*Ñ ñg ñh ™™S�	•/ DÕ(Ñ1ñi ñj Ñ$ñk ñl $¡dÕ*¨TÕ1Ñ8ñm ñn Ñ ño ñp ™s•{Ñ(ñq ñr ˜$•JÑ%ñs ñt ‘c•˜TÕ!Ñ(òu ó    )r4   r5   r1   )#Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planrE   r3   rF   rG   r8   r2   r1   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   r5   r;   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r@   r[   s   @@rA   r   r   1   s  ù‡ € ñð$ €JØ#4Ð"5Ðà# YØ# YØ# YØ# YØ  )Ø 	Ø  )ðÐð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ"ÐØ€KØÐØ!ÐØ&*ÐØ€JØ#'ÐØ#ÐØ €NØ€IØ €LØ €LØ+1€LØ $ÐØ48€OØ €NØ%(ÐØ!%€NØ$(€Kõ(÷y … r^   r   c                   óX   a € ] tR t^€t o ]P
                  ! 4       ]R 4       4       tRtV t	R# )ÚCohere2RotaryEmbeddingc                ób  € V P                   R,          P                  4       P                  VP                  ^ ,          R^4      pVR	,          P                  4       p\	        VP
                  P                  \        4      '       d2   VP
                  P                  R8w  d   VP
                  P                  MRp\        VRR7      ;_uu_ 4        VP                  4       VP                  4       ,          P                  ^^4      p\        P                  ! V^RR7      pVP                  4       V P                  ,          pVP                  4       V P                  ,          p	R R R 4       XP                  VP                   R7      X	P                  VP                   R7      3#   + '       g   i     LH; i)
NÚmpsÚcpuF)Údevice_typeÚenabled)Údim)Údtype)NºNNNNéÿÿÿÿ)rv   Nrv   )Úinv_freqrV   ÚexpandÚshapeÚ
isinstanceÚdeviceÚtyperW   r   Ú	transposeÚtorchÚrepeat_interleaveÚcosÚattention_scalingÚsinÚtoru   )
r<   ÚxÚposition_idsÚinv_freq_expandedÚposition_ids_expandedrr   ÚfreqsÚembr�   rƒ   s
   &&&       rA   ÚforwardÚCohere2RotaryEmbedding.forward�   s5  € ð !ŸM™M¨-Õ8×>Ñ>Ó@×GÑGÈ×HZÑHZÐ[\ÕH]Ð_aÐcdÓeÐØ ,¨ZÕ 8× >Ñ >Ó @Ðä'1°!·(±(·-±-Ä×'EÒ'EÈ!Ï(É(Ï-É-Ð[`ÔJ`�a—h‘h—m’mÐfkˆÜ¨¸U×CÖCØ&×,Ñ,Ó.Ð1F×1LÑ1LÓ1NÕN×YÑYÐZ[Ð]^Ó_ˆEÜ×)Ò)¨%°¸Ô;ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆC÷	 Dð �v‰v˜AŸG™GˆvÓ$ c§f¡f°1·7±7 fÓ&;Ð;Ð;÷ D×Cús   ÃBFÆF.	r0   N)
r_   r`   ra   rb   r   Úno_gradr   r‹   ri   rj   ©r[   s   @rA   rn   rn   €   s%   ø‡ € Ø
‡]‚]ƒ_Øñ<ó ó ö<r^   rn   c                   ó   € ] tR t^‘tRtR# )ÚCohere2LayerNormr0   N©r_   r`   ra   rb   ri   r0   r^   rA   r�   r�   ‘   ó   † Ûr^   r�   c                   óP   a € ] tR t^•t o RtRV 3R lR lltRV 3R lR lltRtV tR# )	ÚCohere2Attentionz=Multi-headed attention from 'Attention Is All You Need' paperNc                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )rD   ÚconfigÚ	layer_idxN©r   rU   )rZ   r[   s   "€rA   r\   ÚCohere2Attention.__annotate__˜   s   ø€ ÷ 
ñ 
™}ð 
¹¸t½ñ 
r^   c                ó  € \         P                  P                  V 4       Wn        W n        \        VR VP                  VP                  ,          4      V n        VP                  VP                  ,          V n
        V P                  R,          V n        VP                  V n        RV n        VP                  V,          R8X  d   VP                  MRV n        \         P                   ! VP                  VP                  V P                  ,          VP"                  R7      V n        \         P                   ! VP                  VP                  V P                  ,          VP"                  R7      V n        \         P                   ! VP                  VP                  V P                  ,          VP"                  R7      V n        \         P                   ! VP                  V P                  ,          VP                  VP"                  R7      V n        R# )r4   Tr.   N)Úbiasg      à¿)ÚnnÚModuleÚ__init__r–   r—   Úgetattrr3   r2   r4   r1   Únum_key_value_groupsÚscalingrS   Ú	is_causalr5   rT   ÚLinearrR   Úq_projÚk_projÚv_projÚo_proj)r<   r–   r—   s   &&&rA   rž   ÚCohere2Attention.__init__˜   ss  € Ü
�	‰	×Ñ˜4Ô ØŒØ"ŒÜ ¨
°F×4FÑ4FÈ&×JdÑJdÕ4dÓeˆŒØ$*×$>Ñ$>À&×B\ÑB\Õ$\ˆÔ!Ø—}‘} dÕ*ˆŒØ!'×!9Ñ!9ˆÔØˆŒØ7=×7IÑ7IÈ)Õ7TÐXkÔ7k˜f×3Ò3ÐquˆÔä—i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×&Ñ&¨¯©Õ6¸×8JÑ8JÐQW×QfÑQfô
ˆŽr^   c                óR  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  R,          S[S[ P                  ,          R,          3,          /# )rD   r'   Úposition_embeddingsr(   Nr    r=   Úreturn)r   ÚTensorÚtupler   r   r   )rZ   r[   s   "€rA   r\   r™   °   s—   ø€ ÷ ()ñ ()á—|‘|ð()ñ #¡5§<¡<±·±Ð#=Õ>ð()ñ Ÿ™ tÕ+ð	()ñ
  �ð()ñ Ñ+Õ,ð()ñ 
‰u�|‰|™UŸ\™\¨DÕ0±%¹¿¹Õ2EÈÕ2LÐLÕ	Mñ()r^   c           	     óD  € VP                   R R p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      pV P                  V4      P                  V4      P	                  ^^4      p	V P                  V4      P                  V4      P	                  ^^4      p
Vw  r¼V P                  e   \        W‰W¼4      w  r‰Ve   VP                  WšV P                  4      w  rš\        P                  ! V P                  P                  \        4      pT! V VV	V
V3RV P                   '       g   RMV P"                  RV P$                  RV P                  /VB w  rïVP&                  ! . VORN5!  P)                  4       pV P+                  V4      pWï3# )NÚdropoutr+   r¡   rT   rw   )rz   r4   r¤   Úviewr~   r¥   r¦   rT   r   Úupdater—   r   Úget_interfacer–   Ú_attn_implementationr   ÚtrainingrS   r¡   ÚreshapeÚ
contiguousr§   )r<   r'   rª   r(   r    r=   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesr�   rƒ   Úattention_interfaceÚattn_outputÚattn_weightss   &&&&&,          rA   r‹   ÚCohere2Attention.forward°   s£  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆà&‰ˆØ×ÑÒ*Ü';¸LÐVYÓ'_Ñ$ˆLàÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ
%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð
%
ð —L‘Lð
%
ð  ×.Ñ.ð
%
ð ñ
%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØÐ(Ð(r^   )rS   r–   r4   r¢   r¥   r—   r    r§   r¤   r¡   rT   r¦   ©N)	r_   r`   ra   rb   rc   rž   r‹   ri   rj   rŽ   s   @rA   r”   r”   •   s!   ø‡ € ÙG÷
ò 
÷0()÷ ()ð ()r^   r”   c                   óT   a a€ ] tR t^Ût oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚCohere2DecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# )rD   r–   r—   r˜   )rZ   r[   s   "€rA   r\   Ú Cohere2DecoderLayer.__annotate__Ü   s   ø€ ÷ ,ñ ,™}ð ,¹ñ ,r^   c                ó&   <€ \         SV `  W4       R # rÀ   )r:   rž   )r<   r–   r—   r@   s   &&&€rA   rž   ÚCohere2DecoderLayer.__init__Ü   s   ø€ Ü‰Ñ˜Ö+r^   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[,          RS[ P                  /# )	rD   r'   rª   Nr(   r    rL   r=   r«   )r   r¬   r­   r   r9   r   r   )rZ   r[   s   "€rA   r\   rÄ   ß   s‡   ø€ ÷ ñ á—|‘|ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ÿ™ tÕ+ð	ñ
  �ðñ ˜$•;ðñ Ñ+Õ,ðñ 
�‰ñr^   c                ó¨   € TpV P                  V4      pV P                  ! RR VRVRVRVRV/VB w  r‰V P                  V4      p
Wx,           V
,           pV# )r'   rª   r(   r    rL   r0   )Úinput_layernormÚ	self_attnÚmlp)r<   r'   rª   r(   r    rL   r=   ÚresidualÚhidden_states_attentionÚ_Úhidden_states_mlps   &&&&&&,    rA   r‹   ÚCohere2DecoderLayer.forwardß   sˆ   € ð !ˆØ×,Ñ,¨]Ó;ˆØ%)§^¢^ñ &
Ø'ð&
à 3ð&
ð *ð&
ð ,ð	&
ð
  ð&
ð ñ&
Ñ"Ðð !ŸH™H ]Ó3ÐØ Õ:Ð=NÕNˆØÐr^   r0   )NNNF©	r_   r`   ra   rb   rž   r‹   ri   rj   rk   rl   s   @@rA   rÂ   rÂ   Û   s   ù‡ € ÷,ó ,÷÷ ò r^   rÂ   c                   ó8   a € ] tR t^øt o R]R]/tV 3R ltRtV t	R# )ÚCohere2PreTrainedModelr'   Ú
attentionsc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©rD   r–   ©r   )rZ   r[   s   "€rA   r\   Ú#Cohere2PreTrainedModel.__annotate__ø   s   ø‡ ‚ ÙÑò r^   r0   N)
r_   r`   ra   rb   rÂ   r”   Ú_can_record_outputsrh   ri   rj   rŽ   s   @rA   rÓ   rÓ   ø   s"   ø‡ € ð 	Ð,ØÐ&ðÐ÷ ƒ r^   rÓ   c                   óT   a a€ ] tR tRt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚCohere2Modelé   c                ó    <€ V ^8„  d   QhRS[ /# rÖ   r×   )rZ   r[   s   "€rA   r\   ÚCohere2Model.__annotate__  s   ø€ ÷ bñ b™}ñ br^   c                óè   <€ \         SV `  V4       \        VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  V P                  4      V n
        R# ))r3   ÚepsN)r:   rž   r�   r3   rK   r)   rœ   Ú	EmbeddingrE   Úpadding_idxr#   )r<   r–   r@   s   &&€rA   rž   ÚCohere2Model.__init__  sR   ø€ Ü‰Ñ˜Ô Ü$°&×2DÑ2DÈ6×K`ÑK`ÔaˆŒ	ÜŸLšL¨×):Ñ):¸F×<NÑ<NÐPT×P`ÑP`ÓaˆÖr^   c                óþ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[/# )
rD   r$   Nr(   r†   r    r%   rL   r=   r«   )	r   Ú
LongTensorr¬   r   ÚFloatTensorr9   r   r   r
   )rZ   r[   s   "€rA   r\   rÞ     s“   ø€ ÷ 7
ñ 7
á×#Ñ# dÕ*ð7
ñ Ÿ™ tÕ+ð7
ñ ×&Ñ&¨Õ-ð	7
ñ
  �ð7
ñ ×(Ñ(¨4Õ/ð7
ñ ˜$•;ð7
ñ Ñ+Õ,ð7
ñ 
!ñ7
r^   c                ó  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      pVfb   Ve   VP	                  4       M^ p\
        P                  ! VP                  ^,          VP                  R7      V,           pVP                  ^ 4      p\        T;p	\        4      '       g/   RV P                  RVRVRVRV/p
R	\        R/ V
B R
\        R/ V
B /p	TpV P                  W³4      p\        V P                   4       F9  w  rÞV! V3RW�P                  P"                  V,          ,          RVRVRVRV/VB pK;  	  V P%                  V4      p\'        VVR7      # )Nz:You must specify exactly one of input_ids or inputs_embeds)r–   )r|   r–   r%   r(   r    r†   r/   r.   rª   rL   )Úlast_hidden_stater    r0   )Ú
ValueErrorr#   r   r–   Úget_seq_lengthr   Úarangerz   r|   Ú	unsqueezer{   rY   r   r	   Ú
rotary_embÚ	enumerater&   r5   r)   r
   )r<   r$   r(   r†   r    r%   rL   r=   Úpast_seen_tokensÚcausal_mask_mappingÚmask_kwargsr'   rª   r?   Údecoder_layers   &&&&&&&,       rA   r‹   ÚCohere2Model.forward  sª  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLä°Ð?Ð-Ä×FÒFà˜$Ÿ+™+Ø Ø  .Ø! ?Ø ðˆKð !Ô"4Ñ"C°{Ñ"CØ#Ô%FÑ%UÈÑ%Uð#Ðð
 &ˆØ"Ÿo™o¨mÓJÐä )¨$¯+©+Ö 6ÑˆAÙ)Øñà2·;±;×3JÑ3JÈ1Õ3MÕNðð %8ðð !0ð	ð
 $ðð *ðð ñŠMñ !7ð Ÿ	™	 -Ó0ˆÜ&Ø+Ø+ô
ð 	
r^   )r#   r)   )NNNNNNrÑ   rl   s   @@rA   rÛ   rÛ      s    ù‡ € ÷bó b÷
7
÷ 7
ò 7
r^   rÛ   c                   ó   € ] tR tRtRtR# )ÚCohere2ForCausalLMi@  r0   Nr‘   r0   r^   rA   rõ   rõ   @  r’   r^   rõ   )r   rõ   rÛ   rÓ   )5Úcollections.abcr   r   Útorch.nnrœ   Úhuggingface_hub.dataclassesr   Úcache_utilsr   r   Úconfiguration_utilsr   Úmasking_utilsr   r	   Úmodeling_outputsr
   Úmodeling_rope_utilsr   r   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr   r   r   Úutils.genericr   Úcohere.modeling_coherer   r   r   r   r   r   r   r   Úgemma2.modeling_gemma2r   Ú
get_loggerr_   Úloggerr   rn   r�   r”   rÂ   rÓ   rÛ   rõ   Ú__all__r0   r^   rA   Ú<module>r     sí   ðõ %ã Ý Ý .ç .Ý 3ß RÝ 7÷õ 6Ý &ß @Ñ @Ý +÷	÷ 	ó 	õ 1ð 
×	Ò	˜HÓ	%€ñ Ð;Ô<ØôJ(Ð$ó J(ó ó =ðJ(ôZ<Ð2ô <ô"	�ô 	ôC)�ô C)ôLÐ,ô ô:Ð2ô ô=
�;ô =
ô@	Ð*ô 	ò \‚r^   