§
    Þ˜ºh)  ã            	       óÀ   — d dl mZmZ d dlmZ d dlmZmZmZ er
ddl	m
Z
mZmZ  G d„ de¦  «        Zdded	ed
edefd„Zdededefd„Zdedeed                  fd„ZdS )é    )Úc_floatÚsizeof)ÚEnum)ÚTYPE_CHECKINGÚOptionalÚUnioné   ©ÚAutoFeatureExtractorÚAutoProcessorÚAutoTokenizerc                   ó.   — e Zd ZeZedefd„¦   «         ZdS )ÚParameterFormatÚreturnc                 ó*   — t          | j        ¦  «        S )zf
        Number of byte required for this data type

        Returns:
            Integer > 0
        )r   Úvalue)Úselfs    ú_/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/transformers/onnx/utils.pyÚsizezParameterFormat.size   s   € õ �d”jÑ!Ô!Ð!ó    N)Ú__name__Ú
__module__Ú__qualname__r   ÚFloatÚpropertyÚintr   © r   r   r   r      s>   € € € € € Ø€Eàð"�cð "ð "ð "ñ „Xð"ð "ð "r   r   Ú	dimensionÚfixed_dimensionÚnum_token_to_addr   c                 ó    — | dk    r|} | |z  } | S )ze

    Args:
        dimension:
        fixed_dimension:
        num_token_to_add:

    Returns:

    r   r   )r   r   r    s      r   Ú compute_effective_axis_dimensionr"   &   s#   € ð �A‚~€~Ø#ˆ	àÐ!Ñ!€IØÐr   Únum_parametersÚdtypec                 ó   — | |j         z  S )a7  
    Compute the size taken by all the parameters in the given the storage format when serializing the model

    Args:
        num_parameters: Number of parameters to be saved
        dtype: The data format each parameter will be saved

    Returns:
        Size (in byte) taken to save all the parameters
    )r   )r#   r$   s     r   Ú"compute_serialized_parameters_sizer&   9   s   € ð ˜EœJÑ&Ð&r   Ú
model_name)r   r   r   c                 ól  — ddl m}m}m} 	  |j        | ¦  «        S # t
          t          t          f$ r€ d\  }}	  |j        | ¦  «        }n# t          t          f$ r Y nw xY w	  |j        | ¦  «        }n# t          t          f$ r Y nw xY w|�|�t          d| › d�¦  «        ‚|€|€Y dS |�|cY S |cY S w xY w)a>  
    Gets a preprocessor (tokenizer, feature extractor or processor) that is available for `model_name`.

    Args:
        model_name (`str`): Name of the model for which a preprocessor are loaded.

    Returns:
        `Optional[Union[AutoTokenizer, AutoFeatureExtractor, AutoProcessor]]`:
            If a processor is found, it is returned. Otherwise, if a tokenizer or a feature extractor exists, it is
            returned. If both a tokenizer and a feature extractor exist, an error is raised. The function returns
            `None` if no preprocessor is found.
    r	   r
   )NNNz&Couldn't auto-detect preprocessor for z1. Found both a tokenizer and a feature extractor.)Ú r   r   r   Úfrom_pretrainedÚ
ValueErrorÚOSErrorÚKeyError)r'   r   r   r   Ú	tokenizerÚfeature_extractors         r   Úget_preprocessorr0   G   sH  € ð FÐEÐEÐEÐEÐEÐEÐEÐEÐEð%Ø,ˆ}Ô,¨ZÑ8Ô8Ð8øÝ�¥Ð*ð %ð %ð %Ø'1Ñ$ˆ	Ð$ð	Ø5˜Ô5°jÑAÔAˆIˆIøÝ�Ð"ð 	ð 	ð 	ØˆDð	øøøð	Ø DÐ 4Ô DÀZÑ PÔ PÐÐøÝ�Ð"ð 	ð 	ð 	ØˆDð	øøøð Ð Ð%6Ð%BÝØv¸ÐvÐvÐvñô ð ð ÐÐ#4Ð#<Ø�4�4ØÐ"ØÐÐÐà$Ð$Ð$Ð$ð)%øøøsb   Œ œB3¹A
Á	B3Á
AÁB3ÁAÁB3Á"A3Á2B3Á3BÂB3ÂBÂB3Â(B3Â.B3Â2B3N)r   )Úctypesr   r   Úenumr   Útypingr   r   r   r)   r   r   r   r   r   r"   r&   Ústrr0   r   r   r   ú<module>r5      s:  ðð #Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1ð ð FØEÐEÐEÐEÐEÐEÐEÐEÐEÐEð"ð "ð "ð "ð "�dñ "ô "ð "ðð °ð Àcð Ð]`ð Ðilð ð ð ð ð&'°sð 'À?ð 'ÐWZð 'ð 'ð 'ð 'ð&% ð &%¨°%Ð8pÔ2qÔ)rð &%ð &%ð &%ð &%ð &%ð &%r   