ó
    >:jU  ã            
       óÌ   • S SK Jr  S SKJrJr  S SKJr  S SKJr  SSK	J
r
Jr  \ " S S\5      5       r\" S	/ S
Q5      r\" \SSSSS
9\" \SSSSS
9\" \
SSSSS
9S.rS\S\4S jrg)é    )Ú
namedtuple)Ú	dataclassÚfield)Ú
PeftConfig)ÚPeftTypeé   )Úgpt2_compute_query_statesÚllama_compute_query_statesc                   óš   ^ • \ rS rSr% Sr\" SSS0S9r\\S'   \" SSS0S9r	\
\S	'   \" SSS
0S9r\
\S'   U 4S jr\S\4S j5       rSrU =r$ )ÚAdaptionPromptConfigé   z7Stores the configuration of an [`AdaptionPromptModel`].NÚhelpzAName of the attention submodules to insert adaption prompts into.)ÚdefaultÚmetadataÚtarget_modulesz"Number of adapter tokens to insertÚadapter_lenz'Number of adapter layers (from the top)Úadapter_layersc                 óL   >• [         TU ]  5         [        R                  U l        g )N)ÚsuperÚ__post_init__r   ÚADAPTION_PROMPTÚ	peft_type)ÚselfÚ	__class__s    €Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/peft/tuners/adaption_prompt/config.pyr   Ú"AdaptionPromptConfig.__post_init__"   s   ø€ Ü‰ÑÔÜ!×1Ñ1ˆ�ó    Úreturnc                 ó   • g)z1Return True if this is an adaption prompt config.T© )r   s    r   Úis_adaption_promptÚ'AdaptionPromptConfig.is_adaption_prompt&   s   € ð r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   ÚstrÚ__annotations__r   Úintr   r   ÚpropertyÚboolr!   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sr   ø‡ áAáØ Ð(kÐlñ€N�Có ñ  T°VÐ=aÐ4bÑc€K�ÓcÙ¨¸Ð@iÐ7jÑk€N�CÓkõ2ð ð Dó ó ör   r   ÚModelTypeConfig)Úcompute_query_statesr   Úk_proj_layerÚv_proj_layerÚo_proj_layerÚ	self_attnÚk_projÚv_projÚo_projÚattnÚc_attnN)ÚllamaÚmistralÚgpt2Úpeft_configr   c                 óþ   • UR                   R                  [        ;  a#  [        SUR                   R                   S35      e[        UR                   R                     nU R                  c  UR                  U l        U $ )z1Prepare the config based on the llama model type.z-Unsupported model type for adaption prompt: 'z'.)ÚconfigÚ
model_typeÚTRANSFORMERS_MODEL_CONFIGÚ
ValueErrorr   )r=   ÚmodelÚmodel_configs      r   Úprepare_configrE   K   sl   € ð
 ‡|�|×ÑÔ&?Ó?ÜÐHÈÏÉ×I`ÑI`ÐHaÐacÐdÓeÐeä,¨U¯\©\×-DÑ-DÑE€Là×!Ñ!Ñ)Ø%1×%@Ñ%@ˆÔ"àÐr   )Úcollectionsr   Údataclassesr   r   Úpeft.configr   Ú
peft.utilsr   Úutilsr	   r
   r   r/   rA   rE   r    r   r   Ú<module>rK      s­   ðõ #ß (å "Ý ç Hð ô˜:ó ó ðñ( ØÒqó€ñ Ø7Ø"ØØØññ Ø7Ø"ØØØññ Ø6ØØØØññÐ ð2Ø%ðð õr   