+
    TV-jå  ã                   óv  € ^ RI Ht ^ RIHtHt ^ RIHt ^ RIH	t	 ^RI
Ht ^RIHtHtHt ] ! R R]4      4       t ! R R	]	P"                  4      t ! R
 R]	P"                  4      t ! R R]	P"                  4      t ! R R]	P"                  4      t ! R R]	P"                  4      t ! R R]	P"                  4      tR# )é    )Ú	dataclass)ÚAnyÚOptionalN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attentionc                   ó\   a € ] tR t^t o Rt^(tRt^@t^@tRt	Rt
RtRtRtRtRtV 3R ltR	tV tR
# )Ú	ModelArgsi    i X  g    €„^Ai è gñhãˆµøä>g      °?Fc                ó¶   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   # )é   Ú
model_typeÚhidden_sizeÚnum_hidden_layersÚintermediate_sizeÚnum_attention_headsÚnum_key_value_headsÚ
rope_thetaÚ
vocab_sizeÚlayer_norm_epsÚlogit_scaleÚattention_biasÚlayer_norm_biasÚuse_qk_norm)ÚstrÚintÚfloatÚbool)ÚformatÚ__classdict__s   "€Úe/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/cohere.pyÚ__annotate__ÚModelArgs.__annotate__   s«   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ñ"ñ ñ Ñ!ñ ñ Ñ!ñ ñ Ñ!ñ ñ Ññ ñ Ñ!ñ ñ Ññ ñ Ñ ñ ñ Ñ!ñ ñ Ñò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   r   r   r   r   r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r    s   @r!   r   r      sN   ø‡ € ð €KØÐØ"ÐØ!ÐØ!ÐØ!€JØ€JØ!€NØ€KØ €NØ!€OØ€K÷ ƒ r$   r   c                   ó8   a a€ ] tR t^t oV 3R ltR tRtVtV ;t# )ÚLayerNorm2Dc                óh   <€ \         SV `  4        \        P                  ! W34      V n        W0n        R # ©N)ÚsuperÚ__init__ÚmxÚzerosÚweightÚeps)ÚselfÚd1Úd2r6   Ú	__class__s   &&&&€r!   r2   ÚLayerNorm2D.__init__    s%   ø€ Ü‰ÑÔÜ—h’h ˜xÓ(ˆŒØŽr$   c                ó|   € V P                   \        P                  P                  VR R V P                  4      ,          # r0   )r5   r3   ÚfastÚ
layer_normr6   ©r7   Úxs   &&r!   Ú__call__ÚLayerNorm2D.__call__%   s*   € Ø�{‰{œRŸW™W×/Ñ/°°4¸¸t¿x¹xÓHÕHÐHr$   )r6   r5   ©	r&   r'   r(   r)   r2   rA   r+   r,   Ú__classcell__©r:   r    s   @@r!   r.   r.      s   ù‡ € õ÷
Iò I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# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r   )r   r    s   "€r!   r"   ÚAttention.__annotate__*   s   ø€ ÷ Nñ N™Yñ Nr$   c                óN  <€ \         SV `  4        Wn        VP                  pVP                  ;V n        pVP                  ;V n        pVP                  VP                  ,          pVR,          V n        VP                  p\        P                  ! W#V,          VR7      V n        \        P                  ! W$V,          VR7      V n        \        P                  ! W$V,          VR7      V n        \        P                  ! W5,          W&R7      V n        VP                   V n        V P                   '       dM   \#        V P
                  WQP$                  R7      V n        \#        V P                  WQP$                  R7      V n        \        P*                  ! VRVP,                  R7      V n        R# )g      à?©Úbias)r6   T)ÚtraditionalÚbaseNg      à¿)r1   r2   rJ   r   r   Ún_headsr   Ú
n_kv_headsÚscaler   ÚnnÚLinearÚq_projÚk_projÚv_projÚo_projr   r.   r   Úq_normÚk_normÚRoPEr   Úrope)r7   rJ   ÚdimrR   rS   Úhead_dimÚattetion_biasr:   s   &&     €r!   r2   ÚAttention.__init__*   s/  ø€ Ü‰ÑÔØŒ	à×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ'+×'?Ñ'?Ð?ˆŒ˜*à×#Ñ# t×'?Ñ'?Õ?ˆØ˜t•^ˆŒ
à×+Ñ+ˆä—i’i ¨xÕ%7¸mÔLˆŒÜ—i’i °(Õ%:ÀÔOˆŒÜ—i’i °(Õ%:ÀÔOˆŒÜ—i’i Õ 2°CÔLˆŒà×+Ñ+ˆÔØ××ÐÜ% d§l¡l°H×BUÑBUÔVˆDŒKÜ%Ø—‘ ×/BÑ/BôˆDŒKô —G’G˜H°$¸T¿_¹_ÔMˆŽ	r$   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   r@   ÚmaskÚcacheÚreturn©r3   Úarrayr   r   )r   r    s   "€r!   r"   rL   E   sH   ø€ ÷ !#ñ !#á�8‰8ð!#ñ ‘r—x‘xÕ ð!#ñ ™�}ð	!#ñ
 
�‰ñ!#r$   c           	     óŽ  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pVP	                  WEV P
                  R4      pVP	                  WEV P                  R4      pV P                  '       d#   V P                  V4      pV P                  V4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pV	P	                  WEV P                  R4      P                  ^ ^^^4      p	VeM   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M"V P                  V4      pV P                  V4      p\        WxW“V P                  VR7      p
V
P                  ^ ^^^4      P	                  WER4      p
V P!                  V
4      # )é   )Úoffset)rf   rT   re   éÿÿÿÿ)ÚshaperW   rX   rY   ÚreshaperR   rS   r   r[   r\   Ú	transposer^   rl   Úupdate_and_fetchr	   rT   rZ   )r7   r@   re   rf   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r!   rA   ÚAttention.__call__E   s�  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆà—/‘/ !¨¯©°bÓ9ˆØ�|‰|˜A $§/¡/°2Ó6ˆØ××ÐØ—k‘k 'Ó*ˆGØ—;‘;˜tÓ$ˆDà×#Ñ# A q¨!¨QÓ/ˆØ�~‰~˜a  A qÓ)ˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r$   )rJ   r\   rX   rR   rS   rZ   r[   rW   r^   rT   r   rY   ©NNrC   rE   s   @@r!   rG   rG   )   s    ù‡ € ÷Nó N÷6!#÷ !#ò !#r$   rG   c                   ó8   a a€ ] tR t^it oV 3R ltR tRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        R# )FrN   N)r1   r2   rU   rV   Ú	gate_projÚup_projÚ	down_proj)r7   r_   Ú
hidden_dimr:   s   &&&€r!   r2   ÚMLP.__init__j   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜ—y’y °uÔ=ˆŒÜŸš :¸Ô?ˆŽr$   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # r0   )r€   r   r~   r   r?   s   &&r!   rA   ÚMLP.__call__p   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr$   )r€   r~   r   rC   rE   s   @@r!   r|   r|   i   s   ù‡ € õ@÷Jò Jr$   r|   c                   óT   a a€ ] tR t^tt 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# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# rI   rK   )r   r    s   "€r!   r"   ÚTransformerBlock.__annotate__u   s   ø€ ÷ 
ñ 
™Yñ 
r$   c                óV  <€ \         SV `  4        VP                  V n        VP                  V n        \        V4      V n        \        VP                  VP                  4      V n	        \        P                  ! VP                  VP                  VP                  R 7      V n        Wn        R# )©r6   rO   N)r1   r2   r   r   rR   rG   Ú	self_attnr|   r   ÚmlprU   Ú	LayerNormr   r   Úinput_layernormrJ   ©r7   rJ   r:   s   &&€r!   r2   ÚTransformerBlock.__init__u   s   ø€ Ü‰ÑÔØ×+Ñ+ˆÔØ×/Ñ/ˆŒä" 4›ˆŒÜ�t×'Ñ'¨×)?Ñ)?Ó@ˆŒÜ!Ÿ|š|Ø×Ñ $×"5Ñ"5¸D×<PÑ<Pô 
ˆÔð Ž	r$   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rd   rh   )r   r    s   "€r!   r"   rˆ   �   sH   ø€ ÷ 	!ñ 	!á�8‰8ð	!ñ ‘r—x‘xÕ ð	!ñ ™�}ð		!ñ
 
�‰ñ	!r$   c                óˆ   € V P                  V4      pV P                  WBV4      pV P                  V4      pWV,           V,           # r0   )rŽ   r‹   rŒ   )r7   r@   re   rf   ÚhÚattn_hÚff_hs   &&&&   r!   rA   ÚTransformerBlock.__call__�   s>   € ð × Ñ  Ó#ˆØ—‘ ¨Ó/ˆØ�x‰x˜‹{ˆØ�}˜qÕ Ð r$   )rJ   r   rŽ   rŒ   rR   r‹   rz   rC   rE   s   @@r!   r†   r†   t   s   ù‡ € ÷
ó 
÷	!÷ 	!ò 	!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# )ÚCohereModelc                ó    <€ V ^8„  d   QhRS[ /# rI   rK   )r   r    s   "€r!   r"   ÚCohereModel.__annotate__Ž   s   ø€ ÷ 
ñ 
™Yñ 
r$   c                óä  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        V P                  ^ 8”  g   Q h\
        P                  ! VP                  VP                  4      V n        \        VP                  4       Uu. uF  p\        VR7      NK  	  upV n        \
        P                  ! VP                  VP                  VP                  R7      V n        R# u upi )r   )rJ   rŠ   N)r1   r2   rJ   r   r   rU   Ú	Embeddingr   Úembed_tokensÚranger†   Úlayersr�   r   r   Únorm)r7   rJ   Ú_r:   s   && €r!   r2   ÚCohereModel.__init__Ž   s¸   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒØ!%×!7Ñ!7ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔä16°t×7MÑ7MÔ1Nó
Ù1N¨AÔ $×'Ñ1Nñ
ˆŒô —L’LØ×Ñ $×"5Ñ"5¸D×<PÑ<Pô
ˆŽ	ùò
s   ÂC-c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputs©r3   ri   )r   r    s   "€r!   r"   rš   œ   s   ø€ ÷ ñ á—‘ñr$   c                óü   € V P                  V4      pVf   R .\        V P                  4      ,          p\        W2^ ,          4      p\	        V P                  V4       F  w  rVV! W4V4      pK  	  V P                  V4      # r0   )r�   ÚlenrŸ   r   Úzipr    )r7   r¥   rf   r“   re   ÚlayerÚcs   &&&    r!   rA   ÚCohereModel.__call__œ   so   € ð
 ×Ñ˜fÓ%ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr$   )rJ   r�   rŸ   r    r   r   r0   rC   rE   s   @@r!   r˜   r˜   �   s   ù‡ € ÷
ó 
÷÷ ò r$   r˜   c                   ód   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 4       tRtVt	V ;t
# )ÚModelc                ó    <€ V ^8„  d   QhRS[ /# rI   rK   )r   r    s   "€r!   r"   ÚModel.__annotate__¯   s   ø€ ÷ ñ ™Yñ r$   c                ór   <€ \         SV `  4        VP                  V n        \        V4      V n        Wn        R # r0   )r1   r2   r   r˜   ÚmodelrJ   r�   s   &&€r!   r2   ÚModel.__init__¯   s*   ø€ Ü‰ÑÔØŸ/™/ˆŒÜ  Ó&ˆŒ
ØŽ	r$   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r¤   r¦   )r   r    s   "€r!   r"   r°   µ   s   ø€ ÷ ñ á—‘ñr$   c                ó¾   € V P                  W4      pV P                   P                  P                  V4      pW0P                   P                  P                  ,          pV# r0   )r²   r�   Ú	as_linearrJ   r   )r7   r¥   rf   Úouts   &&& r!   rA   ÚModel.__call__µ   sG   € ð
 �j‰j˜Ó'ˆØ�j‰j×%Ñ%×/Ñ/°Ó4ˆØ—J‘J—O‘O×/Ñ/Õ/ˆØˆ
r$   c                ó.   € V P                   P                  # r0   )r²   rŸ   )r7   s   &r!   rŸ   ÚModel.layers¿   s   € à�z‰z× Ñ Ð r$   )rJ   r²   r   r0   )r&   r'   r(   r)   r2   rA   ÚpropertyrŸ   r+   r,   rD   rE   s   @@r!   r®   r®   ®   s2   ù‡ € ÷ó ÷ò ð ñ!ó ÷!ð !r$   r®   )Údataclassesr   Útypingr   r   Úmlx.coreÚcorer3   Úmlx.nnrU   Úactivationsr   rQ   r   r   r	   r   ÚModuler.   rG   r|   r†   r˜   r®   r%   r$   r!   Ú<module>rÃ      s�   ðõ "ß  å Ý å ß TÑ Tð ô�ó ó ðô I�"—)‘)ô Iô=#�—	‘	ô =#ô@Jˆ"�)‰)ô Jô!�r—y‘yô !ô2�"—)‘)ô ôB!ˆB�I‰Iö !r$   