§
    ‚Štj  ã                   óú   — 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	 ddl
mZmZ  ed	¬
¦  «        e G d„ de¦  «        ¦   «         ¦   «         Z ed	¬
¦  «        e G d„ de¦  «        ¦   «         ¦   «         ZddgZdS )é    )Ústricté   )ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstring)Úintervalé   )ÚCONFIG_MAPPINGÚ
AutoConfigzrhymes-ai/Aria)Ú
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<     ed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
d+<   dZe e!z  dz  e
d,<   d*Z"ee
d-<   dZ#e	ez  dz  e
d.<   d*Z$ee
d/<   dZ%e	dz  e
d0<   d1Z&d2Z'e	e
d3<   d$Z(e	e
d4<   d$Z)e	e
d5<   ˆ fd6„Z*d7„ Z+ˆ xZ,S )8ÚAriaTextConfigaA  
    moe_num_experts (`int`, *optional*, defaults to 8):
        The number of experts in the MoE layer.
    moe_topk (`int`, *optional*, defaults to 2):
        The number of top experts to route to for each token.
    moe_num_shared_experts (`int`, *optional*, defaults to 2):
        The number of shared experts.
    Ú	aria_textÚ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.shared_experts.gate_projz#layers.*.mlp.shared_experts.up_projz%layers.*.mlp.shared_experts.down_projÚ	input_idsÚinputs_embedsÚhidden_statesÚattention_mask)Úembed_tokensÚlayersÚnormi }  Ú
vocab_sizei   Úhidden_sizeÚintermediate_sizeé    Únum_hidden_layersÚnum_attention_headsNÚnum_key_value_headsÚsiluÚ
hidden_acti   Úmax_position_embeddingsg        g      ð?)ÚminÚmaxç{®Gáz”?)ÚdefaultÚinitializer_rangeg�íµ ÷Æ°>Úrms_norm_epsTÚ	use_cacher	   Úpad_token_idé   Úbos_token_idÚeos_token_idÚpretraining_tpFÚtie_word_embeddingsÚrope_parametersÚattention_biasÚattention_dropoutÚmlp_biasÚhead_dimÚtext_configé   Úmoe_num_expertsÚmoe_topkÚmoe_num_shared_expertsc                 ó–   •— | j         €| j        | j        z  | _         | j        €| j        | _         t	          ¦   «         j        di |¤Ž d S )N© )r5   r   r   r    ÚsuperÚ__post_init__©ÚselfÚkwargsÚ	__class__s     €úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/transformers/models/aria/configuration_aria.pyr>   zAriaTextConfig.__post_init__U   sT   ø€ ØŒ=Ð Ø Ô,°Ô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.r   zThe hidden size (z6) is not a multiple of the number of attention heads (z).N)r   r   Ú
ValueError)r@   s    rC   Úvalidate_architecturez$AriaTextConfig.validate_architecture]   s[   € àÔ˜dÔ6Ñ6¸!Ò;Ð;Ýð7 DÔ$4ð 7ð 7ØÔ2ð7ð 7ð 7ñô ð ð <Ð;rD   )-Ú__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   r(   Úfloatr)   r*   Úboolr+   r-   r.   Úlistr/   r0   r1   r   Údictr2   r3   r4   r5   Úbase_config_keyr8   r9   r:   r>   rG   Ú__classcell__©rB   s   @rC   r   r      s   ø€ € € € € € ðð ð €JØ#4Ð"5Ðà%.Ø%.Ø%.Ø%.Ø1:Ø/8Ø1:ðð Ðð &˜¨Ð(9Ð:Ø#Ð%5Ð6¸Ð8IÐJØ!Ð" _Ð$5Ð6ðð Ðð €J�ÐÐÑØ€K�ÐÐÑà!Ð�sÐ!Ð!Ñ!ØÐ�sÐÐÑØ!Ð˜Ð!Ð!Ñ!Ø&*Ð˜˜t™Ð*Ð*Ñ*Ø€J�ÐÐÑØ#'Ð˜SÐ'Ð'Ñ'Ø9˜x˜x¨C°SÐ9Ñ9Ô9À$ÐGÑGÔGÐ�uÐGÐGÑGØ€L�%ÐÐÑØ€IˆtÐÐÑØ €L�#˜‘*Ð Ð Ñ Ø €L�#˜‘*Ð Ð Ñ Ø+,€L�#˜˜Sœ	‘/ DÑ(Ð,Ð,Ñ,Ø!"€N�C˜$‘JÐ"Ð"Ñ"Ø %Ð˜Ð%Ð%Ñ%Ø48€O�^ dÑ*¨TÑ1Ð8Ð8Ñ8Ø €N�DÐ Ð Ñ Ø,/Ð�s˜U‘{ TÑ)Ð/Ð/Ñ/Ø€HˆdÐÐÑØ€Hˆc�D‰jÐÐÑØ#€OØ€O�SÐÐÑØ€HˆcÐÐÑØ"#Ð˜CÐ#Ð#Ñ#ð(ð (ð (ð (ð (ðð ð ð ð ð ð rD   r   c                   óÌ   ‡ — e Zd ZU dZdZddiZeedœZdZ	e
ez  dz  ed<   dZe
ez  dz  ed<   d	Zeee         z  ed
<   dZe
dz  ed<   dZeed<   dZeed<   dZeed<   ˆ fd„Zˆ xZS )Ú
AriaConfigzq
    projector_patch_to_query_dict (`dict`, *optional*):
        Mapping of patch sizes to query dimensions.
    ÚariaÚimage_token_idÚimage_token_index)r6   Úvision_configNr_   r6   éÿÿÿÿÚvision_feature_layerÚprojector_patch_to_query_dicté	   r&   r(   Fr0   c                 ó‚  •— | j         €
dddœ| _         d„ | j                              ¦   «         D ¦   «         | _         t          | j                              ¦   «         ¦  «        | _        t          | j        t          ¦  «        r2d| j        d<   t          | j        d                  di | j        ¤Ž| _        n | j        €t          d         ¦   «         | _        t          | j	        t          ¦  «        r d| j	        v rt          di | j	        ¤Ž| _	        n| j	        €t          ¦   «         | _	         t          ¦   «         j        di |¤Ž d S )Né€   é   )iÉ  i$  c                 óN   — i | ]"\  }}t          |¦  «        t          |¦  «        “Œ#S r<   )rP   )Ú.0ÚkÚvs      rC   ú
<dictcomp>z,AriaConfig.__post_init__.<locals>.<dictcomp>„   s*   € Ð-tÐ-tÐ-tÁÀÀA­c°!©f¬fµc¸!±f´fÐ-tÐ-tÐ-trD   Úidefics3_visionrL   r<   )rb   Úitemsr%   ÚvaluesÚ'max_value_projector_patch_to_query_dictÚ
isinstancer_   rV   r
   r6   r   r=   r>   r?   s     €rC   r>   zAriaConfig.__post_init__|   sL  ø€ ð Ô-Ð5àØð2ð 2ˆDÔ.ð .uÐ-tÈÔIk×IqÒIqÑIsÔIsÐ-tÑ-tÔ-tˆÔ*Ý7:¸4Ô;]×;dÒ;dÑ;fÔ;fÑ7gÔ7gˆÔ4å�dÔ(­$Ñ/Ô/ð 	EØ/@ˆDÔ˜|Ñ,Ý!/°Ô0BÀ<Ô0PÔ!QÐ!gÐ!gÐTXÔTfÐ!gÐ!gˆDÔÐØÔÐ'Ý!/Ð0AÔ!BÑ!DÔ!DˆDÔå�dÔ&­Ñ-Ô-ð 	0°,À$ÔBRÐ2RÐ2RÝ-ÐAÐA°Ô0@ÐAÐAˆDÔÐØÔÐ%Ý-Ñ/Ô/ˆDÔà�‰ŒÔÐ'Ð' Ð'Ð'Ð'Ð'Ð'rD   )rH   rI   rJ   rK   rL   Úattribute_mapr   r   Úsub_configsr_   rV   r   rQ   r6   ra   rP   rU   rb   r^   r(   rS   r0   rT   r>   rX   rY   s   @rC   r[   r[   f   sý   ø€ € € € € € ðð ð
 €JàÐ-ð€Mð #1À:ÐNÐN€Kà48€M�4Ð*Ñ*¨TÑ1Ð8Ð8Ñ8Ø04€K�˜Ñ&¨Ñ-Ð4Ð4Ñ4Ø,.Ð˜#  S¤	™/Ð.Ð.Ñ.Ø15Ð! 4¨$¡;Ð5Ð5Ñ5ØÐ�sÐÐÑØ#Ð�uÐ#Ð#Ñ#Ø %Ð˜Ð%Ð%Ñ%ð(ð (ð (ð (ð (ð (ð (ð (ð (rD   r[   N)Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   Úutils.type_validatorsr   Úautor
   r   r   r[   Ú__all__r<   rD   rC   ú<module>rz      s4  ðð( /Ð .Ð .Ð .Ð .Ð .à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ð €Ð+Ð,Ñ,Ô,ØðDð Dð Dð Dð DÐ%ñ Dô Dñ „ñ -Ô,ðDðN €Ð+Ð,Ñ,Ô,Øð*(ð *(ð *(ð *(ð *(Ð!ñ *(ô *(ñ „ñ -Ô,ð*(ðZ Ð)Ð
*€€€rD   