
    (HJjA                         d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ ddlmZ ddlmZ e G d d	e             Z G d
 dej"                        Zy)    )	dataclass)OptionalN)tree_flattentree_unflatten   )llama)BaseModelArgsc                   (    e Zd ZU eed<   eed<   d Zy)	ModelArgs
model_typetext_configc                 t    d| j                   d<   | j                   j                  dd      | j                   d<   y )NFtie_word_embeddingsnum_attention_heads    )r   getselfs    _/Users/ahmed/devFolder/claude-voice/.venv/lib/python3.12/site-packages/mlx_lm/models/pixtral.py__post_init__zModelArgs.__post_init__   s:    27./262B2B2F2F!23
./    N)__name__
__module____qualname__str__annotations__dictr    r   r   r   r      s    O
r   r   c                   ~     e Zd Zdef fdZ	 	 ddej                  deej                     fdZd Z	e
d        Z xZS )	Modelargsc                     t         |           || _        |j                  | _        t	        j
                  t        j                  j                  |j                              | _	        y N)
super__init__r!   r   r   r    r   	from_dictr   language_model)r   r!   	__class__s     r   r%   zModel.__init__   sF    	//#kk%//*C*CDDTDT*UVr   inputsinput_embeddingsc                 *    | j                  |||      S )N)cacher*   )r'   )r   r)   r,   r*   s       r   __call__zModel.__call__!   s$     ""%2B # 
 	
r   c                     t        t        |j                                     }|j                  dd        |j                  dd        t	        t        |            S )Nvision_towermulti_modal_projector)r   listitemspopr   r   )r   weightss     r   sanitizezModel.sanitize+   sD     gmmo!67ND)+T2L)**r   c                 B    | j                   j                  j                  S r#   )r'   modellayersr   s    r   r8   zModel.layers1   s    ""((///r   )NN)r   r   r   r   r%   mxarrayr   r-   r5   propertyr8   __classcell__)r(   s   @r   r    r       sV    WY W /3	

 #288,	
+ 0 0r   r    )dataclassesr   typingr   mlx.corecorer9   mlx.nnnn	mlx.utilsr   r    r   baser	   r   Moduler    r   r   r   <module>rG      sG    "    2   
 
 
0BII 0r   