o
    0j	                     @   sx   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 deZG dd deZdS )zTransformers engine.    )AnyDictOptionalTupleType)	BaseModel
ConfigDict   )is_dep_available   )LocalModelFormat   )InferenceEnginec                   @   s   e Zd ZU dZed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.Z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   Zmodel_configr   r   str__annotations__r   r   intr   boolr   r   r   r   r   r   r    r"   r"   n/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/inference/models/engines/transformers.pyr      s   
 
r   c                   @   s   e Zd ZdZdZedefddZedee	 fddZ
deeedf  fd	d
Zddddeeef dee dee deeef fddZdddZdS )TransformersEnginez/Engine for Hugging Face Transformers inference.transformersreturnc                 C      dS )Nr%   r"   selfr"   r"   r#   name0      zTransformersEngine.namec                 C   s   t S N)r   r(   r"   r"   r#   engine_config_model4   r+   z&TransformersEngine.engine_config_model.c                 C   r'   )N)Zsafetensorsr"   r(   r"   r"   r#   get_supported_model_formats8   s   z.TransformersEngine.get_supported_model_formatsN)
model_namedevicerawr/   r0   c                C   s   ~|  || |S r,   )Z_apply_device)r)   r1   r/   r0   r"   r"   r#   prepare_config_dict=   s   z&TransformersEngine.prepare_config_dictc                 C   s   t dstdd S )Nr%   zXEngine 'transformers' is unavailable because dependency 'transformers' is not installed.)r
   RuntimeErrorr(   r"   r"   r#   ensure_environmentH   s
   z%TransformersEngine.ensure_environment)r&   N)r   r   r   r   entitiespropertyr   r*   r   r   r-   r   r   r   r.   r   r   r2   r4   r"   r"   r"   r#   r$   +   s,    
	


r$   N)r   typingr   r   r   r   r   Zpydanticr   r   Z
utils.depsr
   Zutils.model_pathsr   Z_baser   r   r$   r"   r"   r"   r#   <module>   s   