
    .`i                     P    d dl mZ d dlmZ  ee          Z G d de          ZdS )    )PretrainedConfig)init_loggerc            *       V    e Zd ZdZdgZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d-dedz  dedededz  dedz  dededededededededz  dedz  d edz  d!edz  d"edz  d#edz  d$ed%e	dz  f( fd&Z
ed'             Zed(             Zed)efd*            Zd+efd,Z xZS ).KimiLinearConfigkimi_linearpast_key_values     N +      silu{Gz?ư>Tr         Fsigmoid      ?moe_intermediate_sizemoe_renormalizemoe_router_activation_funcnum_expertsnum_experts_per_tokennum_shared_expertsrouted_scaling_factorfirst_k_dense_replacemoe_layer_frequse_grouped_topknum_expert_group
topk_groupq_lora_rankkv_lora_rankqk_nope_head_dimqk_rope_head_dim
v_head_dimmla_use_nopenum_nextn_predict_layerslinear_attn_configc&                    || _         || _        || _        ||n||z  | _        || _        || _        || _        ||}|| _        |	| _        |
| _	        || _
        || _        |&                    dd           }'|'p|pddi}|&                    dd          }(d|vr|(|d<   || _        || _        || _        | | _        |!| _        |"| _        |#| _        || _        || _        || _        || _        || _        || _        | j        dv sJ || _        || _        || _        || _        || _        || _        |$| _         |%|%d         J |%d         J |%| _!         tE                      j#        d
||||d	|& d S )Nrope_scaling	rope_typedefault
rope_thetag     @)softmaxr   
kda_layersfull_attn_layers)pad_token_idbos_token_ideos_token_idtie_word_embeddings )$
model_type
vocab_sizehidden_sizehead_dimintermediate_sizenum_hidden_layersnum_attention_headsnum_key_value_heads
hidden_actinitializer_rangerms_norm_eps	use_cachepoprope_parametersr    r!   r"   r#   r$   r%   r   r   r   r   r   r   r   r   r   r   r   r   r&   r'   super__init__)*selfr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r0   r1   r2   rB   r3   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   kwargsr)   r,   	__class__s*                                            /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/vllm/transformers_utils/configs/kimi_linear.pyrD   zKimiLinearConfig.__init__   s   R %$& ,HH+AT2T 	 "3!2#6  &"5#6 $!2("zz.$77&U/Uk9=UZZg66
..,6OL).&( 0 0$(&%:"."4%:"*D'.2HHHHH%:"%:", 0 0$(@%)%l3???%&89EEE"4 	
%%% 3		
 	

 	
 	
 	
 	
 	
    c                 n    | j         d up,| j        d up#| j        d up| j        d up| j        d up| j        du S )NT)r    r!   r"   r#   r$   r%   rE   s    rH   is_mlazKimiLinearConfig.is_mlav   si     D( ) ,)$D0) $D0) d*	)
  D(	
rI   c                     | j         d uS )N)r   rK   s    rH   is_moezKimiLinearConfig.is_moe   s    t++rI   returnc                     | j         d u pFt          | j         t                    o,| j         d         d uot          | j         d                   dk     S )Nr.   r   )r'   
isinstancedictlenrK   s    rH   is_linear_attnzKimiLinearConfig.is_linear_attn   sb     #t+ 42D99 D+L9ED/=>>!C
 	
rI   	layer_idxc                 8    | j         d uo|dz   | j         d         v S )Nr   r.   )r'   )rE   rU   s     rH   is_kda_layerzKimiLinearConfig.is_kda_layer   s,    #4/ IQ4#:<#HH	
rI   )%r   r	   r
   Nr   r   r   Nr   r   r   Tr   r   r   NFNTr   NNr   r   r   r   Tr   r   NNNNNFr   N)__name__
__module____qualname__r5   keys_to_ignore_at_inferenceintboolstrfloatrR   rD   propertyrL   rN   rT   rW   __classcell__)rG   s   @rH   r   r      sT       J#4"5 ! !,0 $*3"&,0"#'*%&!% !"&#''+'+!%$)()*.Me
 e
&  #Tz'e
( )e
* %(+e
, 4Z-e
.  #Tz/e
0  1e
2  %3e
4  #5e
6 7e
8 9e
: ;e
< =e
> 4Z?e
@ DjAe
B *Ce
D *Ee
F $JGe
H TkIe
J #&Ke
L !4KMe
 e
 e
 e
 e
 e
N 
 
 X
 , , X, 
 
 
 
 X

c 
 
 
 
 
 
 
 
rI   r   N) transformers.configuration_utilsr   vllm.loggerr   rX   loggerr   r4   rI   rH   <module>re      sy    > = = = = = # # # # # #	X		I
 I
 I
 I
 I
' I
 I
 I
 I
 I
rI   