§
    ‚Štj”  ã                   óì  — d dl Z 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 ddlmZmZmZmZmZmZ ddlmZ  ej        e¦  «        Z e
d¬¦  «        e G d„ de¦  «        ¦   «         ¦   «         Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ dee¦  «        Z" G d„ de¦  «        Z# G d„ d e¦  «        Z$g d!¢Z%dS )"é    N)Ústrict)Únné   )Úinitialization)ÚPreTrainedModel)Úauto_docstringÚloggingé   )ÚDeepseekV3Config)ÚDeepseekV3Attention)ÚLlamaDecoderLayerÚLlamaForCausalLMÚ
LlamaModelÚLlamaPreTrainedModelÚLlamaRMSNormÚLlamaRotaryEmbedding)ÚQwen3MLPztencent/Youtu-LLM-2B)Ú
checkpointc                   óú  ‡ — e Zd ZU dZdZddddœZi Z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dz  e	d<   dZedz  e	d<   dZedz  e	d<   dZedz  e	d<   dZeee         z  dz  e	d<   dZee	d<    e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z  e¦   «         Z! e¦   «         Z" e¦   «         Z# e¦   «         Z$ˆ fd„Z%ˆ xZ&S )ÚYoutuConfiga   
    rope_interleave (`bool`, *optional*, defaults to `True`):
        Whether to interleave the rotary position embeddings.
    embedding_initializer_range (`float`, *optional*):
        The standard deviation of the truncated_normal_initializer for initializing all embedding matrices.

    ```python
    >>> from transformers import YoutuModel, YoutuConfig
    >>> # Initializing a Youtu-LLM-2B style configuration
    >>> configuration = YoutuConfig()
    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚyoutuÚcolwiseÚrowwise)zlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_proji õ Ú
vocab_sizei   Úhidden_sizei   Úintermediate_sizeé    Únum_hidden_layersé   Únum_attention_headsÚnum_key_value_headsi   Úmax_position_embeddingsNÚinitializer_rangeÚembedding_initializer_rangeÚpad_token_idi ô Úbos_token_idiô Úeos_token_idTÚtie_word_embeddingsc                 óÄ   •— | j         €(| j        dk    rdd| j        z  dz  z  | _         nd| _         | j        p	d| j         z  | _         t          ¦   «         j        di |¤Ž d S )Nr   g       @g      @g      à?ç{®Gáz”?© )r#   r   r$   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/youtu/modular_youtu.pyr-   zYoutuConfig.__post_init__`   s{   ø€ ØÔ!Ð)ØÔ 1Ò$Ð$Ø),°°dÔ6FÑ0FÈ3Ñ/NÑ)N�Ô&Ð&à)-�Ô&à+/Ô+KÐ+kÈsÐUYÔUkÑOkˆÔ(Ø�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    )'Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚbase_model_tp_planÚattribute_mapr   ÚintÚ__annotations__r   r   r   r    r!   r"   r#   Úfloatr$   r%   r&   r'   Úlistr(   ÚboolÚAttributeErrorÚn_shared_expertsÚn_routed_expertsÚrouted_scaling_factorÚn_groupÚ
topk_groupÚnum_experts_per_tokÚfirst_k_dense_replaceÚnorm_topk_probÚpretraining_tpÚmoe_intermediate_sizeÚnum_mtp_layersr-   Ú__classcell__)r0   s   @r1   r   r   ,   sô  ø€ € € € € € ðð ð €Jà"+Ø )Ø"+ðð Ðð
 €Mà€J�ÐÐÑØ€K�ÐÐÑØ!Ð�sÐ!Ð!Ñ!ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø!Ð˜Ð!Ð!Ñ!Ø#)Ð˜SÐ)Ð)Ñ)Ø&*Ð�u˜t‘|Ð*Ð*Ñ*Ø04Ð ¨¡Ð4Ð4Ñ4Ø#€L�#˜‘*Ð#Ð#Ñ#Ø%€L�#˜‘*Ð%Ð%Ñ%Ø+1€L�#˜˜Sœ	‘/ DÑ(Ð1Ð1Ñ1Ø $Ð˜Ð$Ð$Ñ$ð &�~Ñ'Ô'ÐØ%�~Ñ'Ô'ÐØ*˜NÑ,Ô,ÐØˆnÑÔ€GØ�Ñ!Ô!€JØ(˜.Ñ*Ô*ÐØ*˜NÑ,Ô,ÐØ#�^Ñ%Ô%€NØ#�^Ñ%Ô%€NØ*˜NÑ,Ô,ÐØ#�^Ñ%Ô%€Nð(ð (ð (ð (ð (ð (ð (ð (ð (r2   r   c                   ó   — e Zd ZdS )ÚYoutuRMSNormN©r3   r4   r5   r+   r2   r1   rM   rM   k   ó   € € € € € Ø€Dr2   rM   c                   ó   — e Zd ZdS )ÚYoutuRotaryEmbeddingNrN   r+   r2   r1   rQ   rQ   o   rO   r2   rQ   c                   ó   — e Zd ZdS )ÚYoutuMLPNrN   r+   r2   r1   rS   rS   s   rO   r2   rS   c                   ó   — e Zd ZdS )ÚYoutuAttentionNrN   r+   r2   r1   rU   rU   w   rO   r2   rU   c                   ó   — e Zd ZdS )ÚYoutuDecoderLayerNrN   r+   r2   r1   rW   rW   {   rO   r2   rW   c                   ó>   — e Zd Z ej        ¦   «         d„ ¦   «         ZdS )ÚYoutuPreTrainedModelc                 ób  — t          j        | |¦  «         t          | j        dd¦  «        }t          | j        dd|z  ¦  «        }t	          |t
          j        ¦  «        rNt          j        |j	        d|¬¦  «         |j
        �-t          j        |j	        j        |j
                 ¦  «         d S d S d S )Nr#   r*   r$   r
   g        )ÚmeanÚstd)r   Ú_init_weightsÚgetattrÚconfigÚ
isinstancer   Ú	EmbeddingÚinitÚnormal_ÚweightÚpadding_idxÚzeros_Údata)r.   Úmoduler\   Ú	embed_stds       r1   r]   z"YoutuPreTrainedModel._init_weights€   s­   € åÔ% d¨FÑ3Ô3Ð3Ý�d”kÐ#6¸Ñ=Ô=ˆÝ˜DœKÐ)FÈÈCÉÑPÔPˆ	Ý�f�bœlÑ+Ô+ð 	DÝŒL˜œ¨S°iÐ@Ñ@Ô@Ð@ØÔ!Ð-Ý”˜FœMÔ.¨vÔ/AÔBÑCÔCÐCÐCÐCð	Dð 	Dà-Ð-r2   N)r3   r4   r5   ÚtorchÚno_gradr]   r+   r2   r1   rY   rY      s:   € € € € € Ø€U„]�_„_ðDð Dñ „_ðDð Dð Dr2   rY   c                   ó   — e Zd ZdS )Ú
YoutuModelNrN   r+   r2   r1   rm   rm   ‹   rO   r2   rm   c                   ó   — e Zd ZdS )ÚYoutuForCausalLMNrN   r+   r2   r1   ro   ro   �   rO   r2   ro   )r   rY   rm   ro   )&rj   Úhuggingface_hub.dataclassesr   r   Ú r   rb   Úmodeling_utilsr   Úutilsr   r	   Ú%deepseek_v3.configuration_deepseek_v3r   Ú deepseek_v3.modeling_deepseek_v3r   Úllama.modeling_llamar   r   r   r   r   r   Úqwen3.modeling_qwen3r   Ú
get_loggerr3   Úloggerr   rM   rQ   rS   rU   rW   rY   rm   ro   Ú__all__r+   r2   r1   ú<module>r{      sÑ  ðð* €€€Ø .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &Ø -Ð -Ð -Ð -Ð -Ð -Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø DÐ DÐ DÐ DÐ DÐ DØ BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ,Ð +Ð +Ð +Ð +Ð +ð 
ˆÔ	˜HÑ	%Ô	%€ð €Ð1Ð2Ñ2Ô2Øð:(ð :(ð :(ð :(ð :(Ð"ñ :(ô :(ñ „ñ 3Ô2ð:(ðz	ð 	ð 	ð 	ð 	�<ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð/ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	ˆxñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð(ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð)ñ 	ô 	ð 	ð	Dð 	Dð 	Dð 	Dð 	DÐ/°ñ 	Dô 	Dð 	Dð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð'ñ 	ô 	ð 	ðð ð €€€r2   