Ë
    «q±iÔ  ã                   óº   — d dl Z d dlmZmZ d dlmZ ddlmZ ddlm	Z	 ddl
mZ  e j                  e«      Ze ee	j                  «       G d„ d	e	«      «       «       Zy)
é    N)Ú	dataclassÚfield)ÚPathé   )ÚGenerationConfig)ÚTrainingArguments)Úadd_start_docstringsc                   óì   ‡ — 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<    ed	dd
i¬«      Z	e
d	z  ed<    ed	ddi¬«      Ze
d	z  ed<    ed	ddi¬«      Zeez  ez  d	z  ed<   ˆ fd„Zˆ xZS )ÚSeq2SeqTrainingArgumentsa@  
        sortish_sampler (`bool`, *optional*, defaults to `False`):
            Whether to use a *sortish sampler* or not. Only possible if the underlying datasets are *Seq2SeqDataset*
            for now but will become generally available in the near future.

            It sorts the inputs according to lengths in order to minimize the padding size, with a bit of randomness
            for the training set.
        predict_with_generate (`bool`, *optional*, defaults to `False`):
            Whether to use generate to calculate generative metrics (ROUGE, BLEU).
        generation_max_length (`int`, *optional*):
            The `max_length` to use on each evaluation loop when `predict_with_generate=True`. Will default to the
            `max_length` value of the model configuration.
        generation_num_beams (`int`, *optional*):
            The `num_beams` to use on each evaluation loop when `predict_with_generate=True`. Will default to the
            `num_beams` value of the model configuration.
        generation_config (`str` or `Path` or [`~generation.GenerationConfig`], *optional*):
            Allows to load a [`~generation.GenerationConfig`] from the `from_pretrained` method. This can be either:

            - a string, the *model id* of a pretrained model configuration hosted inside a model repo on
              huggingface.co.
            - a path to a *directory* containing a configuration file saved using the
              [`~GenerationConfig.save_pretrained`] method, e.g., `./my_model_directory/`.
            - a [`~generation.GenerationConfig`] object.
    FÚhelpz%Whether to use SortishSampler or not.)ÚdefaultÚmetadataÚsortish_samplerzFWhether to use generate to calculate generative metrics (ROUGE, BLEU).Úpredict_with_generateNz•The `max_length` to use on each evaluation loop when `predict_with_generate=True`. Will default to the `max_length` value of the model configuration.Úgeneration_max_lengthz“The `num_beams` to use on each evaluation loop when `predict_with_generate=True`. Will default to the `num_beams` value of the model configuration.Úgeneration_num_beamsz^Model id, file path or url pointing to a GenerationConfig json file, to use during prediction.Úgeneration_configc                 óœ   •— t         ‰|   «       }|j                  «       D ])  \  }}t        |t        «      sŒ|j                  «       ||<   Œ+ |S )zØ
        Serializes this instance while replace `Enum` by their values and `GenerationConfig` by dictionaries (for JSON
        serialization support). It obfuscates the token values by removing their value.
        )ÚsuperÚto_dictÚitemsÚ
isinstancer   )ÚselfÚdÚkÚvÚ	__class__s       €úT/opt/pipecat/venv/lib/python3.12/site-packages/transformers/training_args_seq2seq.pyr   z Seq2SeqTrainingArguments.to_dictT   sK   ø€ ô ‰G‰OÓˆØ—G‘G“Iò 	#‰DˆAˆqÜ˜!Ô-Õ.Ø—y‘y“{!’ð	#ð ˆó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚboolÚ__annotations__r   r   Úintr   r   Ústrr   r   r   Ú__classcell__)r   s   @r   r   r      sÌ   ø… ññ2 "¨%¸6ÐCjÐ:kÔl€OTÓlÙ"'Ø Ð)qÐ rô#Ð˜4ó ñ ).ØàðHð
ô)Ð˜3 ™:ó ñ (-ØàðGð
ô(Ð˜# ™*ó ñ ?DØàÐtð
ô?Ðs˜T‘zÐ$4Ñ4°tÑ;ó ÷
ð 
r   r   )ÚloggingÚdataclassesr   r   Úpathlibr   Úgeneration.configuration_utilsr   Útraining_argsr   Úutilsr	   Ú	getLoggerr    Úloggerr#   r   © r   r   ú<module>r2      s`   ðó ß (Ý å <Ý ,Ý 'ð 
ˆ×	Ñ	˜8Ó	$€ð ÙÐ'×/Ñ/Ó0ôAÐ0ó Aó 1ó ñAr   