o
    0j                     @   sT   d Z ddlmZmZmZ ddlmZ ddlmZm	Z	 ddl
mZ G d	d
 d
eZdS )zRemote GenAI client engine.    )AnyDictType   ) is_genai_client_plugin_available   )SERVER_BACKENDSGenAIConfig   )InferenceEnginec                   @   sz   e Zd ZdZdZedefddZedee	 fddZ
edefdd	Zd
eeef deeef fddZdddZdS )GenAIClientEnginez)Engine for remote GenAI client inference.genai_clientreturnc                 C      dS )Nr    selfr   r   n/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddlex/inference/models/engines/genai_client.pyname      zGenAIClientEngine.namec                 C   s   t S )N)r	   r   r   r   r   engine_config_model"   r   z%GenAIClientEngine.engine_config_modelc                 C   r   )NFr   r   r   r   r   needs_local_model&   r   z#GenAIClientEngine.needs_local_model	validatedc                 C   s.   | dtvrtdtd| dd|S )Nbackendz*engine='genai_client' requires backend in z, got .)getr   
ValueError)r   r   r   r   r   post_normalize_config*   s   z'GenAIClientEngine.post_normalize_configNc                 C   s   t  stdd S )Nz)The genai client plugin is not available.)r   RuntimeErrorr   r   r   r   ensure_environment2   s   z$GenAIClientEngine.ensure_environment)r   N)__name__
__module____qualname____doc__entitiespropertystrr   r   r	   r   boolr   r   r   r   r   r   r   r   r   r      s    "r   N)r#   typingr   r   r   Z
utils.depsr   Zcommon.genair   r	   Z_baser   r   r   r   r   r   <module>   s   