o
    i                     @   s   U d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZmZmZ d dlmZ d d	lmZ d d
lmZ eeZG dd deeeZG dd deeeZeeB Zeed< G dd de
ZG dd de
ZdS )    N)	TypeAlias)Field)PoolingParams)ModelConfig)OpenAIBaseModel	UsageInfo)ChatRequestMixinClassifyRequestMixinCompletionRequestMixinPoolingBasicRequestMixin)init_logger)TokenizeParamsrandom_uuidc                   @   &   e Zd ZdedefddZdd ZdS )ClassificationCompletionRequestmodel_configreturnc                 C   ,   |j pi }t|jd| j|dd| jddS Nr   do_lower_caseFmax_model_len)max_total_tokensmax_output_tokenstruncate_prompt_tokensr   add_special_tokensmax_total_tokens_paramencoder_configr   r   r   getr   selfr   r    r"   `/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/entrypoints/pooling/classify/protocol.pybuild_tok_params      

z0ClassificationCompletionRequest.build_tok_paramsc                 C      t d| j| jdS Nclassify)taskr   use_activationr   r   r*   r!   r"   r"   r#   to_pooling_params(   
   z1ClassificationCompletionRequest.to_pooling_paramsN__name__
__module____qualname__r   r   r$   r-   r"   r"   r"   r#   r          r   c                   @   r   )ClassificationChatRequestr   r   c                 C   r   r   r   r    r"   r"   r#   r$   3   r%   z*ClassificationChatRequest.build_tok_paramsc                 C   r&   r'   r+   r,   r"   r"   r#   r-   ?   r.   z+ClassificationChatRequest.to_pooling_paramsNr/   r"   r"   r"   r#   r4   0   r3   r4   ClassificationRequestc                   @   s6   e Zd ZU eed< edB ed< ee ed< eed< dS )ClassificationDataindexNlabelprobsnum_classes)r0   r1   r2   int__annotations__strlistfloatr"   r"   r"   r#   r6   L   s
   
 r6   c                   @   sb   e Zd ZU edd dZeed< dZeed< edd dZe	ed< eed	< e
e ed
< eed< dS )ClassificationResponsec                   C   s   dt   S )Nz	classify-r   r"   r"   r"   r#   <lambda>T       zClassificationResponse.<lambda>)default_factoryidr>   objectc                   C   s   t t S )N)r;   timer"   r"   r"   r#   rA   V   rB   createdmodeldatausageN)r0   r1   r2   r   rD   r=   r<   rE   rG   r;   r>   r6   r   r"   r"   r"   r#   r@   S   s   
 r@   )rF   typingr   pydanticr   vllmr   vllm.configr   'vllm.entrypoints.openai.engine.protocolr   r   &vllm.entrypoints.pooling.base.protocolr   r	   r
   r   vllm.loggerr   vllm.renderersr   
vllm.utilsr   r0   loggerr   r4   r5   r<   r6   r@   r"   r"   r"   r#   <module>   s*   



