
    bi                     L    d dl mZmZ d dlmZ d dlmZ e G d de             Zy)    )	dataclassfield)PromptLearningConfig)PeftTypec                   h     e Zd ZU dZ edddi      Zeed<    edddi      Ze	ed	<    fd
Z
 xZS )PrefixTuningConfiga  
    This is the configuration class to store the configuration of a [`PrefixEncoder`].

    Args:
        encoder_hidden_size (`int`): The hidden size of the prompt encoder.
        prefix_projection (`bool`): Whether to project the prefix embeddings.
    NhelpzThe hidden size of the encoder)defaultmetadataencoder_hidden_sizeFz$Whether to project the prefix tokensprefix_projectionc                 L    t         |           t        j                  | _        y )N)super__post_init__r   PREFIX_TUNING	peft_type)self	__class__s    [/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/peft/tuners/prefix_tuning/config.pyr   z PrefixTuningConfig.__post_init__(   s    !//    )__name__
__module____qualname____doc__r   r   int__annotations__r   boolr   __classcell__)r   s   @r   r   r      sR      %:;   $@At 
0 0r   r   N)dataclassesr   r   peft.configr   
peft.utilsr   r    r   r   <module>r#      s,    ) ,  0- 0 0r   