
    oiU              
           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/james-whalen/.local/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NC  TV=a4bcKc@i7jkNC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`Haacdee,U\\-D-DEL!!)%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   