+
    œ°³j)  ã                   óx   € R t ^ RIHt ^RIHt ^RIHt ^RIHt ]! RR7      ] ! R R]4      4       4       t	R.t
R	# )
zPhi-3 model configuration)Ústrict)ÚPreTrainedConfig)ÚRopeParameters)Úauto_docstringz microsoft/Phi-3-mini-4k-instruct)Ú
checkpointc                   ó   a a€ ] tR t^t oRtRtR.tRRRRRRR	R/tR
R.R.3RRR.R.3RR.R.3/tRt	Rt
Rt^ t^ tRtRtRtRtRtRtRtRtRtRtRtRt^tRtRtRtV 3R ltR#V3R lR lltV 3R  lt V3R! lt!R"t"Vt#V ;t$# )$Ú
Phi3Configa[  
original_max_position_embeddings (`int`, *optional*, defaults to 4096):
    The maximum sequence length that this model was trained with. This is used to determine the size of the
    original RoPE embeddings when using long scaling.

Example:

```python
>>> from transformers import Phi3Model, Phi3Config

>>> # Initializing a Phi-3 style configuration
>>> configuration = Phi3Config.from_pretrained("microsoft/Phi-3-mini-4k-instruct")

>>> # Initializing a model from the configuration
>>> model = Phi3Model(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```Úphi3Úpast_key_valueszlayers.*.self_attn.qkv_projÚcolwise_gather_outputzlayers.*.self_attn.o_projÚrowwise_split_inputzlayers.*.mlp.gate_up_projzlayers.*.mlp.down_projÚembed_tokensÚ	input_idsÚinputs_embedsÚlayersÚhidden_statesÚattention_maskÚnormi@}  i   i    Ng        Úsilui   g{®Gáz”?gñhãˆµøä>TFi }  c                óf   <€ V P                   f   V P                  V n         \        SV `  ! R/ VB  R # )N© )Únum_key_value_headsÚnum_attention_headsÚsuperÚ__post_init__)ÚselfÚkwargsÚ	__class__s   &,€Úl/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/phi3/configuration_phi3.pyr   ÚPhi3Config.__post_init__S   s-   ø€ Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÔ$ä‰ÒÑ' Ô'ó    c                óD   <€ V ^8„  d   QhRS[ S[,          RS[R,          /# )é   Údefault_thetaÚignore_keysN)ÚintÚfloatÚset)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚPhi3Config.__annotate__Y   s%   ø€ ÷ ñ Ù ¡5�[ðÙBEÈÅ*ñr    c                óÞ  € VP                  R R4      pT;'       g    V P                  V n        V P                  e   V P                  M/ V n        V P                  P                  RVP                  RV4      4       V P                  P                  RVP                  RR4      4       V P	                  4        V P                  P                  RR4      pVe   VR9   d   RV P                  R&   V# )Úrope_scalingNÚ
rope_thetaÚpartial_rotary_factorg      ð?Ú	rope_typeÚlongrope)ÚsuÚyarn)ÚpopÚrope_parametersÚ
setdefaultÚgetÚstandardize_rope_params)r   r#   r$   r   r-   Úrope_parameters_types   &&&,  r   Úconvert_rope_params_to_dictÚ&Phi3Config.convert_rope_params_to_dictY   s×   € ð —z‘z .°$Ó7ˆØ+×CÐC¨t×/CÑ/CˆÔØ7;×7KÑ7KÒ7W˜t×3Ò3Ð]_ˆÔð 	×Ñ×'Ñ'¨°f·j±jÀÈ}Ó6]Ô^Ø×Ñ×'Ñ'Ð(?ÀÇÁÐLcÐehÓAiÔjØ×$Ñ$Ô&ð  $×3Ñ3×7Ñ7¸ÀTÓJÐØÒ+Ð0DÈÔ0VØ0:ˆD× Ñ  Ñ-Øˆr    c                óN  <€ \         SV `  4        \        V P                  \        4      '       g   \        RV P                   24      hV P                  P                  RR4      pV P                  P                  RR4      pV P                  P                  RR4      p\        V P                  V P                  ,          V P                  R,          ,          4      pVR9  d   \        RV 24      hVe—   \        V\        4      '       d;   \        ;QJ d    R V 4       F  '       d   K   R	M	  R
M! R V 4       4      '       g   \        RV 24      h\        V4      V^,          8X  g"   \        RV^,           R\        V4       24      hVe™   \        V\        4      '       d;   \        ;QJ d    R V 4       F  '       d   K   R	M	  R
M! R V 4       4      '       g   \        RV 24      h\        V4      V^,          8X  g"   \        RV^,           R\        V4       24      hR# R# )z/
Validate the `rope_parameters` configuration.
z/`rope_parameters` must be a dictionary but got r0   NÚshort_factorÚlong_factorr/   z@`rope_parameters`'s type field must be one of ['longrope'], got c              3   óN   "  € T F  p\        V\        \        34      x € K  	  R # 5i©N©Ú
isinstancer%   r&   ©Ú.0Úxs   & r   Ú	<genexpr>Ú+Phi3Config.validate_rope.<locals>.<genexpr>€   s    é € ÐZÑ=Y¸œ
 1¤s¬E l×3Ð3Ó=Yùó   ‚#%FTzF`rope_parameters`'s short_factor field must be a list of numbers, got z8`rope_parameters`'s short_factor field must have length z, got c              3   óN   "  € T F  p\        V\        \        34      x € K  	  R # 5ir@   rA   rC   s   & r   rF   rG   �   s    é € ÐYÑ=X¸œ
 1¤s¬E l×3Ð3Ó=XùrH   zE`rope_parameters`'s long_factor field must be a list of numbers, got z7`rope_parameters`'s long_factor field must have length )Údefaultr1   )r   Úvalidate_roperB   r5   ÚdictÚ
ValueErrorr7   r%   Úhidden_sizer   ÚlistÚallÚlen)r   r9   Úrope_parameters_short_factorÚrope_parameters_long_factorÚrotary_ndimsr   s   &    €r   rK   ÚPhi3Config.validate_ropek   s)  ø€ ô 	‰ÑÔô ˜$×.Ñ.´×5Ò5ÜÐNÈt×OcÑOcÐNdÐeÓfÐfØ#×3Ñ3×7Ñ7¸ÀTÓJÐØ'+×';Ñ';×'?Ñ'?ÀÐPTÓ'UÐ$Ø&*×&:Ñ&:×&>Ñ&>¸}ÈdÓ&SÐ#ÜØ×Ñ × 8Ñ 8Õ8¸4×;OÑ;OÐPgÕ;hÕhó
ˆð  Ð'>Ô>ÜÐ_Ð`tÐ_uÐvÓwÐwà'Ò3äÐ7¼×>Ò>ß“CÑZÑ=YÓZ—C—C’CÑZÑ=YÓZ×ZÒZä Ø\Ð]yÐ\zÐ{óð ô Ð3Ó4¸ÈÕ8IÔIÜ ØNÈ|Ð_`ÕO`ÐNaÐagÔhkð  mIó  iJð  hKð  Lóð ð 'Ò2äÐ6¼×=Ò=ß“CÑYÑ=XÓY—C—C’CÑYÑ=XÓY×YÒYä Ø[Ð\wÐ[xÐyóð ô Ð2Ó3°|ÀqÕ7HÔHÜ ØMÈlÐ^_ÕN_ÐM`Ð`fÔgjð  lGó  hHð  gIð  Jóð ñ Iñ 3r    c                óÊ  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ R,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R	&   S[S[ ,          ;R
&   S[;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          R,          ;R&   S[ R,          ;R&   S[ S[S[ ,          ,          R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   # )r"   Ú
vocab_sizerN   Úintermediate_sizeÚnum_hidden_layersr   Nr   Úresid_pdropÚ
embd_pdropÚattention_dropoutÚ
hidden_actÚmax_position_embeddingsÚ original_max_position_embeddingsÚinitializer_rangeÚrms_norm_epsÚ	use_cacheÚtie_word_embeddingsr5   Úbos_token_idÚeos_token_idÚpad_token_idÚsliding_window)r%   r&   ÚstrÚboolr   rL   rO   )r(   r)   s   "€r   r*   r+      ss  ø‡ ‚ ñJ ÑñK ñL ÑñM ñN Ñ!ñO ñP ÑñQ ñR Ñ!ñS ñT ˜t�Ñ*ñU ñV ™•Ñ"ñW ñX ™•Ñ!ñY ñZ ™s•{Ñ(ñ[ ñ\ Ññ] ñ^ !Ñ'ñ_ ñ` '*Ñ0ña ñb Ñ#ñc ñd Ññe ñf Ññg ñh Ñ%ñi ñj $¡dÕ*¨TÕ1Ñ8ñk ñl ˜•*Ñ ñm ñn ™™S�	•/ DÕ(Ñ0ño ñp ˜•*Ñ$ñq ñr ˜$•JÑ%òs r    )r   r5   )g     ˆÃ@N)%Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
model_typeÚkeys_to_ignore_at_inferenceÚbase_model_tp_planÚbase_model_pp_planrW   rN   rX   rY   r   r   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   r5   rd   re   rf   rg   r   r:   rK   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   r)   s   @@r   r   r      s  ù‡ € ñð( €JØ#4Ð"5Ðà%Ð'>Ø#Ð%:Ø#Ð%<Ø Ð"7ð	Ðð 	˜+˜¨Ð(9Ð:Ø�OÐ%5Ð6¸Ð8IÐJØ�/Ð" _Ð$5Ð6ðÐð €JØ€KØ!ÐØÐØ!ÐØ&*ÐØ"€KØ!€JØ%(ÐØ€JØ#'ÐØ,0Ð$Ø#ÐØ€LØ€IØ %ÐØ48€OØ €LØ+0€LØ$€LØ!%€Nõ(÷ò õ$*÷g … r    r   N)rn   Úhuggingface_hub.dataclassesr   Úconfiguration_utilsr   Úmodeling_rope_utilsr   Úutilsr   r   Ú__all__r   r    r   Ú<module>r|      sM   ðñ  å .å 3Ý 1Ý #ñ Ð=Ô>Øô{Ð!ó {ó ó ?ð{ð| ˆ.‚r    