§
    ‚ŠtjF  ã                   ó´   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  e	j
        e¦  «        Z ed¬¦  «        e G d	„ d
e¦  «        ¦   «         ¦   «         Zd
gZdS )zMinistral model configurationé    )Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringÚloggingz"mistralai/Ministral-3-8B-Base-2512)Ú
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dh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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!z  d&z  ed.<   d&Z"e
d&z  ed/<   d0Z#ee
z  ed1<   ˆ fd2„Z$ˆ xZ%S )3ÚMinistral3Configa'  
    Example:

    ```python
    >>> from transformers import Ministral3Config, Ministral3ForCausalLM, Mistral3Config, Mistral3ForConditionalGeneration, PixtralVisionConfig

    >>> # Initializing a Pixtral-vision config
    >>> vision_config = PixtralVisionConfig()

    >>> # Initializing a Ministral3 config
    >>> text_config = Ministral3Config()

    >>> # Initializing a Mistral3 configuration
    >>> configuration = Mistral3Config(vision_config, text_config)

    >>> # Initializing a model from the Ministral3 configuration
    >>> text_model = Ministral3ForCausalLM(text_config)

    >>> # Initializing a model from the Mistral3 configuration
    >>> model = Mistral3ForConditionalGeneration(configuration)

    >>> # Accessing the model configuration
    >>> configuration = model.config
    ```Ú
ministral3Ú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ÚnormÚllama_4_scaling_betaÚmax_position_embeddingsi   Ú
vocab_sizei   Úhidden_sizei 8  Úintermediate_sizeé"   Únum_hidden_layersé    Únum_attention_headsé   Únum_key_value_headsé€   Úhead_dimÚsiluÚ
hidden_acti   g{®Gáz”?Úinitializer_rangegñhãˆµøä>Úrms_norm_epsTÚ	use_cacheé   NÚpad_token_idé   Úbos_token_idé   Úeos_token_idFÚtie_word_embeddingsÚrope_parametersÚsliding_windowg        Úattention_dropoutc                 ó  •— | j         €dddd| j        ddddddœ
| _         | j        �| j        n| j        | j        z  | _        | j        €| j        | _        d	|v rt                               d
¦  «          t          ¦   «         j	        di |¤Ž d S )NÚyarng    €„.Ag      0@i @  g      @@g      ð?gš™™™™™¹?)
ÚtypeÚ
rope_thetaÚfactorÚ original_max_position_embeddingsr   Ú	beta_fastÚ	beta_slowÚmscale_all_dimÚmscaler   Úlayer_typesz�Detected Mistral model with layer_types. Consider using AutoModel or Ministral classes instead to enable alternating attention compatibility.© )
r0   r   r#   r   r   r!   ÚloggerÚwarning_onceÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s     €úu/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/ministral3/configuration_ministral3.pyrB   zMinistral3Config.__post_init__]   sÀ   ø€ ØÔÐ'àØ'ØØ49Ø+/Ô+GØ!Ø Ø"%ØØ(+ð$ð $ˆDÔ ð *.¬Ð)B˜œ˜ÈÔHXÐ\`Ô\tÑHtˆŒàÔ#Ð+Ø'+Ô'?ˆDÔ$à˜FÐ"Ð"Ý×Òð `ñô ð ð 	�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'ó    )&Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planÚignore_keys_at_rope_validationr   ÚintÚ__annotations__r   r   r   r   r!   r#   r%   Ústrr   r&   Úfloatr'   r(   Úboolr*   r,   r.   Úlistr/   r0   r   Údictr1   r2   rB   Ú__classcell__)rE   s   @rF   r   r      s   ø€ € € € € € ðð ð2 €JØ#4Ð"5Ðð &/Ø%.Ø%.Ø%.Ø"+Ø )Ø"+ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð
 '=Ð>WÐ%XÐ"à€J�ÐÐÑØ€K�ÐÐÑØ"Ð�sÐ"Ð"Ñ"ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø Ð˜Ð Ð Ñ Ø€HˆcÐÐÑØ€J�ÐÐÑØ#)Ð˜SÐ)Ð)Ñ)Ø#Ð�uÐ#Ð#Ñ#Ø€L�%ÐÐÑØ€IˆtÐÐÑØ!€L�#˜‘*Ð!Ð!Ñ!Ø €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø %Ð˜Ð%Ð%Ñ%Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø!%€N�C˜$‘JÐ%Ð%Ñ%Ø%(Ð�u˜s‘{Ð(Ð(Ñ(ð(ð (ð (ð (ð (ð (ð (ð (ð (rG   r   N)rK   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r   Ú
get_loggerrH   r?   r   Ú__all__r>   rG   rF   ú<module>r_      s×   ðð $Ð #à .Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð 
ˆÔ	˜HÑ	%Ô	%€ð €Ð?Ð@Ñ@Ô@ØðZ(ð Z(ð Z(ð Z(ð Z(Ð'ñ Z(ô Z(ñ „ñ AÔ@ðZ(ðz Ð
€€€rG   