Ë
    ÜÓ^jF  ã                   óž   — 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y)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                 óL  •— | j                   €dddd| j                  ddddddœ
| _         | j                  �| j                  n| j                  | j                  z  | _        | j
                  €| j                  | _        d	|v rt        j                  d
«       t        ‰| �$  di |¤Ž y )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     €ú‚/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/ministral3/configuration_ministral3.pyrB   zMinistral3Config.__post_init__]   s¯   ø€ Ø×ÑÐ'àØ'ØØ49Ø+/×+GÑ+GØ!Ø Ø"%ØØ(+ñ$ˆDÔ ð *.¯©Ð)B˜ŸšÈ×HXÑHXÐ\`×\tÑ\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      sr  ø… ñð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Ø!%€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_      sc   ðñ $å .å 3Ý 1ß ,ð 
ˆ×	Ñ	˜HÓ	%€ñ Ð?Ô@ØôZ(Ð'ó Z(ó ó AðZ(ðz Ð
�rG   