§
    ‚Štj¨  ã                   ó„   — d dl mZ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 )	é   )ÚPreTrainedConfigÚstrict)ÚRopeParameters)Úauto_docstringzEuroBERT/EuroBERT-210m)Ú
checkpointc                   óò  ‡ — e Zd ZU dZdZdgZddddddddœZdgdgfd	d
gd	gfd	gd	gf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
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	e
d'<   d(Zee
d)<   dZee z  dz  e
d*<   d(Z!ee
d+<   d,Z"e	ez  e
d-<   d(Z#ee
d.<   dZ$e	dz  e
d/<   d0Z%e	e
d1<   d2Z&ee
d3<   ˆ fd4„Z'd5„ Z(ˆ xZ)S )6ÚEuroBertConfiga�  
    mask_token_id (`int`, *optional*, defaults to 128002):
        Mask token id.
    classifier_pooling (`str`, *optional*, defaults to `"late"`):
        The pooling strategy to use for the classifier. Can be one of ['bos', 'mean', 'late'].

    ```python
    >>> from transformers import EuroBertModel, EuroBertConfig

    >>> # Initializing a EuroBert eurobert-base style configuration
    >>> configuration = EuroBertConfig()

    >>> # Initializing a model from the eurobert-base style configuration
    >>> model = EuroBertModel(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```ÚeurobertÚpast_key_valuesÚcolwiseÚrowwise)zlayers.*.self_attn.q_projzlayers.*.self_attn.k_projzlayers.*.self_attn.v_projzlayers.*.self_attn.o_projzlayers.*.mlp.gate_projzlayers.*.mlp.up_projzlayers.*.mlp.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi õ Ú
vocab_sizei   Úhidden_sizei   Úintermediate_sizeé   Únum_hidden_layersÚnum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_acti    Úmax_position_embeddingsg{®Gáz”?Úinitializer_rangegñhãˆµøä>Úrms_norm_epsTÚ	use_cacheiô Úpad_token_idi ô Úbos_token_idÚeos_token_idé   Úpretraining_tpFÚtie_word_embeddingsÚrope_parametersÚattention_biasg        Úattention_dropoutÚmlp_biasÚhead_dimiô Úmask_token_idÚlateÚclassifier_poolingc                 ó¼   •— | j         €| j        | _         | j        €| j        | j        z  | _        | j         €| j        | _          t	          ¦   «         j        di |¤Ž d S )N© )r   r   r,   r   ÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úq/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/eurobert/configuration_eurobert.pyr3   zEuroBertConfig.__post_init__\   sh   ø€ ØÔ#Ð+Ø'+Ô'?ˆDÔ$ØŒ=Ð Ø Ô,°Ô0HÑHˆDŒMØÔ#Ð+Ø'+Ô'?ˆDÔ$à�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    c                 ól   — | j         | j        z  dk    r t          d| j         › d| j        › d�¦  «        ‚dS )zOPart of `@strict`-powered validation. Validates the architecture of the config.é    zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)r   r   Ú
ValueError)r4   s    r7   Úvalidate_architecturez$EuroBertConfig.validate_architecturef   s[   € àÔ˜dÔ6Ñ6¸!Ò;Ð;Ýð7 DÔ$4ð 7ð 7ØÔ2ð7ð 7ð 7ñô ð ð <Ð;r8   )*Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planr   ÚintÚ__annotations__r   r   r   r   r   r   Ústrr   r   Úfloatr    r!   Úboolr"   r#   r$   Úlistr&   r'   r(   r   Údictr)   r*   r+   r,   r-   r/   r3   r<   Ú__classcell__)r6   s   @r7   r	   r	      sh  ø€ € € € € € ðð ð& €JØ#4Ð"5Ðð &/Ø%.Ø%.Ø%.Ø"+Ø )Ø"+ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð €J�ÐÐÑØ€K�ÐÐÑØ!Ð�sÐ!Ð!Ñ!ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø&*Ð˜˜t™Ð*Ð*Ñ*Ø€J�ÐÐÑØ#'Ð˜SÐ'Ð'Ñ'Ø#Ð�uÐ#Ð#Ñ#Ø€L�%ÐÐÑØ€IˆtÐÐÑØ%€L�#˜‘*Ð%Ð%Ñ%Ø%€L�#˜‘*Ð%Ð%Ñ%Ø+1€L�#˜˜Sœ	‘/ DÑ(Ð1Ð1Ñ1Ø€N�CÐÐÑØ %Ð˜Ð%Ð%Ñ%Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø €N�DÐ Ð Ñ Ø%(Ð�s˜U‘{Ð(Ð(Ñ(Ø€HˆdÐÐÑØ€Hˆc�D‰jÐÐÑØ€M�3ÐÐÑØ$Ð˜Ð$Ð$Ñ$ð(ð (ð (ð (ð (ðð ð ð ð ð ð r8   r	   N)	Úconfiguration_utilsr   r   Úmodeling_rope_utilsr   Úutilsr   r	   Ú__all__r1   r8   r7   ú<module>rQ      sª   ðð. <Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #ð €Ð3Ð4Ñ4Ô4ØðNð Nð Nð Nð NÐ%ñ Nô Nñ „ñ 5Ô4ðNðb Ð
€€€r8   