
    {-j	                         d Z ddlmZmZmZmZmZ ddlmZm	Z	 ddl
mZ ddlmZ dd	lmZ  G d
 de          Z G d de          ZdS )zTransformers engine.    )AnyDictOptionalTupleType)	BaseModel
ConfigDict   )is_dep_available   )LocalModelFormat   )InferenceEnginec                   V   e Zd ZU dZ ed          ZdZee         e	d<   dZ
ee         e	d<   dZee         e	d<   dZee         e	d<   dZee         e	d	<   dZeeeef                  e	d
<   dZeeeef                  e	d<   dZeeeef                  e	d<   dZeeeef                  e	d<   dS )TransformersEngineConfigz)Engine config for transformers inference.forbid)extraNdtypedevice_type	device_idtrust_remote_codeattn_implementationgeneration_configmodel_kwargsprocessor_kwargstokenizer_kwargs)__name__
__module____qualname____doc__r	   model_configr   r   str__annotations__r   r   intr   boolr   r   r   r   r   r   r        m/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddlex/inference/models/engines/transformers.pyr   r      s        33:H---LE8C=!%K#%%%#Ix}###(,x~,,,)-#---26xS#X/666-1L(4S>*11115htCH~.55515htCH~.55555r'   r   c                       e Zd ZdZdZedefd            Zedee	         fd            Z
deeedf                  fdZddd	d
eeef         dee         dee         deeef         fdZddZdS )TransformersEnginez/Engine for Hugging Face Transformers inference.transformersreturnc                     dS )Nr+   r&   selfs    r(   namezTransformersEngine.name0   s    ~r'   c                     t           S N)r   r.   s    r(   engine_config_modelz&TransformersEngine.engine_config_model4   s    ''r'   .c                     dS )N)safetensorsr&   r.   s    r(   get_supported_model_formatsz.TransformersEngine.get_supported_model_formats8   s
      r'   N)
model_namedevicerawr7   r8   c                4    ~|                      ||           |S r2   )_apply_device)r/   r9   r7   r8   s       r(   prepare_config_dictz&TransformersEngine.prepare_config_dict=   s"     3'''
r'   c                 B    t          d          st          d          d S )Nr+   zXEngine 'transformers' is unavailable because dependency 'transformers' is not installed.)r   RuntimeErrorr.   s    r(   ensure_environmentz%TransformersEngine.ensure_environmentH   s3    // 	3  	 	r'   )r,   N)r   r   r   r    entitiespropertyr"   r0   r   r   r3   r   r   r   r6   r   r   r<   r?   r&   r'   r(   r*   r*   +   s       99Hc    X (T*B%C ( ( ( X( 	%(#-.	/        %) $	 	 	#s(^	 SM		
 	 
c3h	 	 	 	     r'   r*   N)r    typingr   r   r   r   r   pydanticr   r	   
utils.depsr   utils.model_pathsr   _baser   r   r*   r&   r'   r(   <module>rG      s       3 3 3 3 3 3 3 3 3 3 3 3 3 3 * * * * * * * * + + + + + + 0 0 0 0 0 0 " " " " " "6 6 6 6 6y 6 6 6 " " " " " " " " " "r'   