§
    ‚Štj  ã                   ó„   — d Z ddlmZ ddlmZ ddlmZ  ed¬¦  «        e G d„ d	e¦  «        ¦   «         ¦   «         Zd	gZd
S )zmT5 model configurationé    )Ústricté   )ÚPreTrainedConfig)Úauto_docstringzgoogle/mt5-small)Ú
checkpointc                   ó²  ‡ — e Zd ZU dZdZdgZdddddœ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dz  e	d<   dZee	d<   dZee	d<   dZee	d<   dZeez  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ee         z  dz  e	d'<   d$Z edz  e	d(<   d)Z!eez  e	d*<   d+Z"ee	d,<   ˆ fd-„Z#d.„ Z$ˆ xZ%S )/Ú	MT5ConfigaÉ  
    relative_attention_num_buckets (`int`, *optional*, defaults to 32):
        The number of buckets to use for each attention layer.
    relative_attention_max_distance (`int`, *optional*, defaults to 128):
        The maximum distance of the longer sequences for the bucket separation.
    feed_forward_proj (`str`, *optional*, defaults to `"gated-gelu"`):
        Type of feed forward layer to be used. Should be one of `"relu"` or `"gated-gelu"`.
    Úmt5Úpast_key_valuesÚd_modelÚ	num_headsÚ
num_layersÚd_kv)Úhidden_sizeÚnum_attention_headsÚnum_hidden_layersÚhead_dimi Ñ Ú
vocab_sizei   é@   i   Úd_ffé   NÚnum_decoder_layersé   é    Úrelative_attention_num_bucketsé€   Úrelative_attention_max_distancegš™™™™™¹?Údropout_rateg�íµ ÷Æ°>Úlayer_norm_epsilong      ð?Úinitializer_factorú
gated-geluÚfeed_forward_projTÚis_encoder_decoderÚ	use_cacheÚtie_word_embeddingsÚbos_token_idr   Úpad_token_idé   Úeos_token_idÚdecoder_start_token_idg        Úclassifier_dropoutFÚ
is_decoderc                 ó<  •— | j         �| j         n| j        | _         | j                             d¦  «        }|d         | _        |d         dk    | _        | j        dk    rd| _        |                     dd ¦  «         d| _         t          ¦   «         j	        d	i |¤Ž d S )
Nú-éÿÿÿÿr   Úgatedr!   Úgelu_newr%   T© )
r   r   r"   ÚsplitÚdense_act_fnÚis_gated_actÚpopr%   ÚsuperÚ__post_init__)ÚselfÚkwargsÚact_infoÚ	__class__s      €úg/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/mt5/configuration_mt5.pyr8   zMT5Config.__post_init__B   s¯   ø€ à'+Ô'>Ð'JˆDÔ#Ð#ÐPTÔP_ð 	Ôð Ô)×/Ò/°Ñ4Ô4ˆØ$ RœLˆÔØ$ QœK¨7Ò2ˆÔàÔ! \Ò1Ð1Ø *ˆDÔð 	�
Š
Ð(¨$Ñ/Ô/Ð/Ø#'ˆÔ Ø�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    c                 óÎ   — | j                              d¦  «        }t          |¦  «        dk    r|d         dk    st          |¦  «        dk    rt          d| j         › d�¦  «        ‚dS )	zOPart of `@strict`-powered validation. Validates the architecture of the config.r.   r(   r   r0   é   z`feed_forward_proj`: z© is not a valid activation function of the dense layer. Please make sure `feed_forward_proj` is of the format `gated-{ACT_FN}` or `{ACT_FN}`, e.g. 'gated-gelu' or 'relu'N)r"   r3   ÚlenÚ
ValueError)r9   r;   s     r=   Úvalidate_architecturezMT5Config.validate_architectureS   s{   € àÔ)×/Ò/°Ñ4Ô4ˆåˆx‰=Œ=˜1ÒÐ ¨!¤°Ò!7Ð!7½3¸x¹=¼=È1Ò;LÐ;LÝð)¨Ô(>ð )ð )ð )ñô ð ð <MÐ;Lr>   )&Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚattribute_mapr   ÚintÚ__annotations__r   r   r   r   r   r   r   r   r   Úfloatr   r    r"   Ústrr#   Úboolr$   r%   r&   r'   r)   Úlistr*   r+   r,   r8   rC   Ú__classcell__)r<   s   @r=   r	   r	      s	  ø€ € € € € € ðð ð €JØ#4Ð"5Ðà Ø*Ø)Øð	ð €Mð €J�ÐÐÑØ€GˆSÐÐÑØ€Dˆ#€N€N�NØ€Dˆ#ÐÐÑØ€J�ÐÐÑØ%)Ð˜˜d™
Ð)Ð)Ñ)Ø€IˆsÐÐÑØ*,Ð" CÐ,Ð,Ñ,Ø+.Ð# SÐ.Ð.Ñ.Ø #€L�%˜#‘+Ð#Ð#Ñ#Ø $Ð˜Ð$Ð$Ñ$Ø #Ð˜Ð#Ð#Ñ#Ø)Ð�sÐ)Ð)Ñ)Ø#Ð˜Ð#Ð#Ñ#Ø€IˆtÐÐÑØ $Ð˜Ð$Ð$Ñ$Ø#€L�#˜‘*Ð#Ð#Ñ#Ø €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø)*Ð˜C $™JÐ*Ð*Ñ*Ø&)Ð˜ ™Ð)Ð)Ñ)Ø€J�ÐÐÑð(ð (ð (ð (ð (ð"	ð 	ð 	ð 	ð 	ð 	ð 	r>   r	   N)	rG   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úutilsr   r	   Ú__all__r2   r>   r=   ú<module>rV      s©   ðð Ð à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð-Ð.Ñ.Ô.ØðDð Dð Dð Dð DÐ ñ Dô Dñ „ñ /Ô.ðDðN ˆ-€€€r>   