Ë
    îÿæiJ  ã                   óì   — d dl mZ d dlmZmZmZmZ d dlmZ	 d dl
mZ ddlmZ ddlmZ e G d„ de«      «       Ze G d	„ d
e«      «       Z G d„ dej$                  «      Z G d„ dej$                  «      Zy)é    )Ú	dataclass)ÚAnyÚDictÚOptionalÚUnionNé   )ÚBaseModelArgs)ÚDeepseekV3Modelc                   ó¢  — e Zd ZU dZeed<   dZeed<   dZeed<   dZeed<   d	Z	eed
<   dZ
eed<   dZeed<   dZee   ed<   dZee   ed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   dZeed<   d Zeed!<   d"Zeed#<   d"Zeed$<   d"Zeed%<   d"Zeed&<   d'Zeed(<   d)Z eed*<   d+Z!eed,<   d-Z"eed.<   dZ#e$ed/<   d0Z%eed1<   y)2ÚTextArgsi � Ú
vocab_sizei   Úhidden_sizei +  Úintermediate_sizei  Úmoe_intermediate_sizeé   Únum_hidden_layersé    Únum_attention_headsÚnum_key_value_headsNÚn_shared_expertsÚn_routed_expertsg      ð?Úrouted_scaling_factori   Úkv_lora_ranki   Úq_lora_ranké@   Úqk_rope_head_dimé€   Ú
v_head_dimÚqk_nope_head_dimÚnoaux_tcÚtopk_methodÚsigmoidÚscoring_funcTÚnorm_topk_probr   Ún_groupÚ
topk_groupÚnum_experts_per_tokÚmoe_layer_freqr   Úfirst_k_dense_replacei   Úmax_position_embeddingsg�íµ ÷Æ°>Úrms_norm_epsg     ˆÃ@Ú
rope_thetaÚrope_scalingFÚattention_bias)&Ú__name__Ú
__module__Ú__qualname__r   ÚintÚ__annotations__r   r   r   r   r   r   r   r   r   r   Úfloatr   r   r   r   r   r!   Ústrr#   r$   Úboolr%   r&   r'   r(   r)   r*   r+   r,   r-   r   r.   © ó    új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/mlx_lm/models/kimi_vl.pyr   r      s/  … à€J�ÓØ€K�ÓØ"Ð�sÓ"Ø!%Ð˜3Ó%ØÐ�sÓØ!Ð˜Ó!Ø!Ð˜Ó!Ø&*Ð�h˜s‘mÓ*Ø&*Ð�h˜s‘mÓ*Ø#&Ð˜5Ó&Ø€L�#ÓØ€K�ÓØÐ�cÓØ€J�ÓØÐ�cÓØ!€K�Ó!Ø!€L�#Ó!Ø€N�DÓØ€GˆSÓØ€J�ÓØ Ð˜Ó Ø€N�CÓØ!"Ð˜3Ó"Ø#'Ð˜SÓ'Ø€L�%ÓØ€J�ÓØ€L�$ÓØ €N�DÔ r8   r   c                   ó2   — e Zd ZU eeef   ed<   eed<   d„ Zy)Ú	ModelArgsÚtext_configÚ
model_typec                 óL   — t         j                  | j                  «      | _        y ©N)r   Ú	from_dictr<   ©Úselfs    r9   Ú__post_init__zModelArgs.__post_init__2   s   € Ü#×-Ñ-¨d×.>Ñ.>Ó?ˆÕr8   N)	r/   r0   r1   r   r   Údictr3   r5   rC   r7   r8   r9   r;   r;   -   s   … à�x �~Ñ&Ó&ØƒOó@r8   r;   c                   óR   ‡ — e Zd Zdefˆ fd„Z	 ddej                  dee   fd„Z	ˆ xZ
S )ÚLanguageModelÚconfigc                 ó²   •— t         ‰| �  «        || _        t        |«      | _        t        j                  |j                  |j                  d¬«      | _	        y )NF)Úbias)
ÚsuperÚ__init__Úargsr
   ÚmodelÚnnÚLinearr   r   Úlm_head©rB   rG   Ú	__class__s     €r9   rK   zLanguageModel.__init__7   sA   ø€ Ü‰ÑÔØˆŒ	Ü$ VÓ,ˆŒ
Ü—y‘y ×!3Ñ!3°V×5FÑ5FÈUÔSˆ�r8   ÚinputsÚcachec                 óH   — | j                  ||«      }| j                  |«      S r?   )rM   rP   )rB   rS   rT   Úouts       r9   Ú__call__zLanguageModel.__call__=   s#   € ð
 �j‰j˜ Ó'ˆØ�|‰|˜CÓ Ð r8   r?   )r/   r0   r1   r   rK   ÚmxÚarrayr   r   rW   Ú__classcell__©rR   s   @r9   rF   rF   6   s5   ø„ ðT˜xõ Tð  $ñ!à—‘ð!ð ˜‰}÷!r8   rF   c                   óx   ‡ — e Zd Zdefˆ fd„Z	 d	dej                  dee   fd„Z	d„ Z
ed„ «       Zed„ «       Zˆ xZS )
ÚModelrG   c                 ó†   •— t         ‰| �  «        || _        |j                  | _        t	        |j
                  «      | _        y r?   )rJ   rK   rL   r=   rF   r<   Úlanguage_modelrQ   s     €r9   rK   zModel.__init__G   s5   ø€ Ü‰ÑÔØˆŒ	Ø ×+Ñ+ˆŒÜ+¨F×,>Ñ,>Ó?ˆÕr8   rS   rT   c                 ó&   — | j                  ||«      S r?   )r_   )rB   rS   rT   s      r9   rW   zModel.__call__M   s   € ð
 ×"Ñ" 6¨5Ó1Ð1r8   c                 óö  — d„ }|j                  «       D ��ci c]  \  }} ||«      sŒ||“Œ }}}t        | j                  j                  j                  «      D ]’  }d|› �}dD ]†  }dD ]  }|› d|› d|› �|v sŒt        | j                  j                  j
                  «      D �cg c]  }|j                  |› d|› d|› d|› �«      ‘Œ  }	}t        j                  |	«      ||› d|› d|› �<   Œ� Œˆ Œ” |S c c}}w c c}w )	Nc                 ó"   — d| vxr
 d| vxr d| vS )NÚvision_towerÚ
rotary_embÚmulti_modal_projectorr7   )Úkeys    r9   ÚkeepzModel.sanitize.<locals>.keepU   s)   € à cÐ)ò 7Ø ¨Ð+ò7à+°3Ð6ðr8   zlanguage_model.model.layers.)Ú	gate_projÚ	down_projÚup_proj)ÚweightÚscalesÚbiasesz.mlp.experts.0.Ú.z.mlp.experts.z.mlp.switch_mlp.)	ÚitemsÚrangerL   r<   r   r   ÚpoprX   Ústack)
rB   Úweightsrg   ÚkÚvÚlÚprefixÚmÚeÚto_joins
             r9   ÚsanitizezModel.sanitizeT   s  € ò	ð %,§M¡M¤OÔ?¡O™D˜A˜q±t¸Aµw�1�a‘4 OˆÑ?ä�t—y‘y×,Ñ,×>Ñ>Ö?ˆAØ3°A°3Ð7ˆFÛ@�Û7�AØ ˜ °°°1°Q°CÐ8¸GÒCô &+¨4¯9©9×+@Ñ+@×+QÑ+QÔ%Ró#á%R ð $ŸK™K¨6¨(°-À¸sÀ!ÀAÀ3ÀaÈÀsÐ(KÕLØ%Rð  ð #ô GIÇhÁhÈwÓFW˜ 6 (Ð*:¸1¸#¸Q¸q¸cÐ BÒCñ 8ñ Að @ð ˆùó @ùò#s   —C0¨C0Â##C6
c                 óB   — | j                   j                  j                  S r?   )r_   rM   ÚlayersrA   s    r9   r}   zModel.layersk   s   € à×"Ñ"×(Ñ(×/Ñ/Ð/r8   c                 ó   — d„ }|S )Nc                 ó
   — d| vS )NÚe_score_correction_biasr7   )rt   s    r9   Ú	predicatez'Model.cast_predicate.<locals>.predicateq   s   € Ø,°AÐ5Ð5r8   r7   )rB   r�   s     r9   Úcast_predicatezModel.cast_predicateo   s   € ò	6ð Ðr8   r?   )r/   r0   r1   r;   rK   rX   rY   r   r   rW   r{   Úpropertyr}   r‚   rZ   r[   s   @r9   r]   r]   F   sb   ø„ ð@˜yõ @ð  $ñ2à—‘ð2ð ˜‰}ó2òð. ñ0ó ð0ð ñó ôr8   r]   )Údataclassesr   Útypingr   r   r   r   Úmlx.coreÚcorerX   Úmlx.nnrN   Úbaser	   Údeepseek_v3r
   r   r;   ÚModulerF   r]   r7   r8   r9   Ú<module>rŒ      su   ðõ "ß -Ó -å Ý å Ý (ð ô!ˆ}ó !ó ð!ð> ô@�ó @ó ð@ô!�B—I‘Iô !ô .ˆB�I‰Iõ .r8   