
    )jA                         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dS )    )	dataclass)OptionalN)tree_flattentree_unflatten   )llama)BaseModelArgsc                   *    e Zd ZU eed<   eed<   d ZdS )	ModelArgs
model_typetext_configc                 `    d| j         d<   | j                             dd          | j         d<   d S )NFtie_word_embeddingsnum_attention_heads    )r   getselfs    _/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/mlx_lm/models/pixtral.py__post_init__zModelArgs.__post_init__   s<    27./262B2F2F!23
 3
.///    N)__name__
__module____qualname__str__annotations__dictr    r   r   r   r      s:         OOO
 
 
 
 
r   r   c                   v     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                            | _	        d S N)
super__init__r!   r   r   r    r   	from_dictr   language_model)r   r!   	__class__s     r   r%   zModel.__init__   sT    	/#k%/*C*CDDT*U*UVVr   Ninputsinput_embeddingsc                 2    |                      |||          S )N)cacher*   )r'   )r   r)   r,   r*   s       r   __call__zModel.__call__!   s)     ""%2B # 
 
 	
r   c                     t          t          |                                                    }|                    dd            |                    dd            t	          t          |                    S )Nvision_towermulti_modal_projector)r   listitemspopr   r   )r   weightss     r   sanitizezModel.sanitize+   s^     gmmoo!6!677ND)))+T222L))***r   c                 $    | 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       s        WY W W W W W W /3	
 

 #28,	
 
 
 
+ + + 0 0 X0 0 0 0 0r   r    )dataclassesr   typingr   mlx.corecorer9   mlx.nnnn	mlx.utilsr   r    r   baser	   r   Moduler    r   r   r   <module>rG      s    " ! ! ! ! !                   2 2 2 2 2 2 2 2             
 
 
 
 
 
 
 
0 0 0 0 0BI 0 0 0 0 0r   