o
    -i&                     @   s`  U d dl Z d dlmZmZmZmZ d dl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 d dlmZ d dlmZ eeZG d	d
 d
e	ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd de	Z!G dd deZ"G dd deZ#G dd  d eZ$G d!d" d"eZ%e$e%B Z&ee'd#< G d$d% d%eZ(e(e%B e$B Z)ee'd&< G d'd( d(eZ*G d)d* d*eZ+G d+d, d,e	Z,e-e.e,B  Z/d-e/dB d.e.dB d/e-e dB fd0d1Z0G d2d3 d3eZ1G d4d5 d5eZ2G d6d7 d7e	Z3G d8d9 d9eZ4G d:d; d;e	Z5G d<d= d=eZ6G d>d? d?e	Z7dS )@    N)AnyClassVarLiteral	TypeAlias)	BaseModel
ConfigDictFieldmodel_validator)make_tool_call_id)init_logger)SamplingParamsrandom_uuid)resolve_obj_by_qualnamec                   @   sF   e Zd ZU eddZdZeee dB  e	d< e
ddedd ZdS )	OpenAIBaseModelallowextraNfield_nameswrapmodec                    s   ||}t |ts|S | j  d u r4t  | j D ]\}} | t|dd  }r0 | q | _t fdd|D rIt	
d|    |S )Naliasc                 3   s    | ]}| vV  qd S N ).0kr   r   d/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/vllm/entrypoints/openai/engine/protocol.py	<genexpr>4   s    z7OpenAIBaseModel.__log_extra_fields__.<locals>.<genexpr>z@The following fields were present in the request but ignored: %s)
isinstancedictr   setmodel_fieldsitemsaddgetattranyloggerwarningkeys)clsdatahandlerresult
field_namefieldr   r   r   r   __log_extra_fields__#   s$   



z$OpenAIBaseModel.__log_extra_fields__)__name__
__module____qualname__r   model_configr   r   r"   str__annotations__r	   classmethodr1   r   r   r   r   r      s   
 
r   c                   @   s6   e Zd ZU eed< eed< dZedB ed< eed< dS )	ErrorInfomessagetypeNparamcode)r2   r3   r4   r6   r7   r<   intr   r   r   r   r9   <   s
   
 r9   c                   @   s   e Zd ZU eed< dS )ErrorResponseerrorN)r2   r3   r4   r9   r7   r   r   r   r   r?   C   s   
 r?   c                   @   s   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< d	Z
eed
< dZeed< dZeed< d	Zeed< dZeed< d	Zeed< dZeed< dZedB ed< d	Zeed< dS )ModelPermissionc                   C   s   dt   S )Nz
modelperm-r   r   r   r   r   <lambda>H       zModelPermission.<lambda>default_factoryidmodel_permissionobjectc                   C      t t S r   r>   timer   r   r   r   rB   J   rC   createdFallow_create_engineTallow_samplingallow_logprobsallow_search_indices
allow_viewallow_fine_tuning*organizationNgroupis_blocking)r2   r3   r4   r   rF   r6   r7   rH   rL   r>   rM   boolrN   rO   rP   rQ   rR   rT   rU   rV   r   r   r   r   rA   G   s   
 rA   c                   @   s   e Zd ZU eed< dZeed< edd dZeed< dZ	eed	< d
Z
ed
B ed< d
Zed
B ed< d
Zed
B ed< eedZee ed< d
S )	ModelCardrF   modelrH   c                   C   rI   r   rJ   r   r   r   r   rB   Y   rC   zModelCard.<lambda>rD   rL   vllmowned_byNrootparentmax_model_len
permission)r2   r3   r4   r6   r7   rH   r   rL   r>   r[   r\   r]   r^   listr_   rA   r   r   r   r   rX   V   s   
 rX   c                   @   s0   e Zd ZU dZeed< eedZee	 ed< dS )	ModelListr`   rH   rD   r,   N)
r2   r3   r4   rH   r6   r7   r   r`   r,   rX   r   r   r   r   ra   a   s   
 ra   c                   @   s   e Zd ZU dZedB ed< dS )PromptTokenUsageInfoNcached_tokens)r2   r3   r4   rc   r>   r7   r   r   r   r   rb   f   s   
 rb   c                   @   sF   e Zd ZU dZeed< dZeed< dZedB ed< dZe	dB ed< dS )	UsageInfor   prompt_tokenstotal_tokensNcompletion_tokensprompt_tokens_details)
r2   r3   r4   re   r>   r7   rf   rg   rh   rb   r   r   r   r   rd   j   s
   
 rd   c                   @   s&   e Zd ZU eed< dZedB ed< dS )RequestResponseMetadata
request_idNfinal_usage_info)r2   r3   r4   r6   r7   rk   rd   r   r   r   r   ri   q   s   
 ri   c                   @   sV   e Zd ZU eed< dZedB ed< edddZeee	f dB ed< dZ
edB ed< dS )JsonSchemaResponseFormatnameNdescriptionschemadefaultr   json_schemastrict)r2   r3   r4   r6   r7   rn   r   rr   r!   r   rs   rW   r   r   r   r   rl   v   s
   
  rl   c                   @   s>   e Zd ZU eed< edddZeeef dB ed< eed< dS )LegacyStructuralTagbeginNro   rp   structural_tag_schemaend)	r2   r3   r4   r6   r7   r   rv   r!   r   r   r   r   r   rt      s   
  rt   c                   @   s2   e Zd ZU ed ed< ee ed< ee ed< dS )!LegacyStructuralTagResponseFormatstructural_tagr;   
structurestriggersN)r2   r3   r4   r   r7   r`   rt   r6   r   r   r   r   rx      s   
 rx   c                   @   s"   e Zd ZU ed ed< eed< dS )StructuralTagResponseFormatry   r;   formatN)r2   r3   r4   r   r7   r   r   r   r   r   r|      s   
 r|   AnyStructuralTagResponseFormatc                   @   s*   e Zd ZU ed ed< dZedB ed< dS )ResponseFormat)textjson_objectrr   r;   Nrr   )r2   r3   r4   r   r7   rr   rl   r   r   r   r   r      s   
 r   AnyResponseFormatc                   @   s.   e Zd ZU dZedB ed< dZedB ed< dS )StreamOptionsTNinclude_usageFcontinuous_usage_stats)r2   r3   r4   r   rW   r7   r   r   r   r   r   r         
 r   c                   @   s>   e Zd ZU eed< dZedB ed< dZeeef dB ed< dS )FunctionDefinitionrm   Nrn   
parameters)	r2   r3   r4   r6   r7   rn   r   r!   r   r   r   r   r   r      s   
 r   c                   @   sL   e Zd ZU eed< dZee dB ed< dZe	eef dB ed< e
ddZdS )LogitsProcessorConstructorqualnameNargskwargsforbidr   )r2   r3   r4   r6   r7   r   r`   r   r   r!   r   r5   r   r   r   r   r      s
   
 r   
processorspatternreturnc                 C   s   | rZ|rZg }| D ]O}t |tr|n|j}t||s"td| dzt|}W n ty? } ztd| d| |d }~ww t |trR||j	pJg i |j
pOi }|| q|S | r`tdd S )NzLogits processor 'ze' is not allowed by this server. See --logits-processor-pattern engine argument for more information.z' could not be resolved: zThe `logits_processors` argument is not supported by this server. See --logits-processor-pattern engine argument for more information.)r    r6   r   rematch
ValueErrorr   	Exceptionr   r   r   append)r   r   logits_processors	processorr   logits_processorer   r   r   get_logits_processors   s>   

r   c                   @   s   e Zd ZU eed< eed< dS )FunctionCallrm   	argumentsN)r2   r3   r4   r6   r7   r   r   r   r   r      s   
 r   c                   @   s8   e Zd ZU eedZeed< dZe	d ed< e
ed< dS )ToolCallrD   rF   functionr;   N)r2   r3   r4   r   r
   rF   r6   r7   r;   r   r   r   r   r   r   r      s   
 r   c                   @   s.   e Zd ZU dZedB ed< dZedB ed< dS )DeltaFunctionCallNrm   r   )r2   r3   r4   rm   r6   r7   r   r   r   r   r   r      r   r   c                   @   sJ   e Zd ZU dZedB ed< dZed dB ed< eed< dZ	e
dB ed< dS )DeltaToolCallNrF   r   r;   index)r2   r3   r4   rF   r6   r7   r;   r   r>   r   r   r   r   r   r   r      s
   
 r   c                   @   s2   e Zd ZU eed< ee ed< dZedB ed< dS )ExtractedToolCallInformationtools_called
tool_callsNcontent)	r2   r3   r4   rW   r7   r`   r   r   r6   r   r   r   r   r      s   
 r   c                   @   sx   e Zd ZU dZedB ed< dZedB ed< dZedB ed< dZedB ed< 	 e	e
dZe
e ed< edd	d
d ZdS )DeltaMessageNroler   	reasoningreasoning_contentrD   r   afterr   c                 C   s   | j | _| S )z?Copy reasoning to reasoning_content for backward compatibility.)r   r   )selfr   r   r   #handle_deprecated_reasoning_content  s   z0DeltaMessage.handle_deprecated_reasoning_content)r2   r3   r4   r   r6   r7   r   r   r   r   r`   r   r   r	   r   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU eeddZeed< ee	 ed< 	 dZ
edB ed< 	 eed< 	 dZedB ed< d	ZedB ed
< dZedB ed< edddZedB ed< edddZe	ed< edddZeeef dB ed< dS )GenerateRequestzThe request_id related to this request. If the caller does not set it, a random_uuid will be generated. This id is used through out the inference process and return in response.)rE   rn   rj   	token_idsNfeaturessampling_paramsrY   Fstreamstream_optionsa/  If specified, the prefix cache will be salted with the provided string to prevent an attacker to guess prompts in multi-user environments. The salt should be random, protected from access by 3rd parties, and long enough to be unpredictable (e.g., 43 characters base64-encoded, corresponding to 256 bit).)rq   rn   
cache_saltr   zThe priority of the request (lower means earlier handling; default: 0). Any priority other than 0 will raise an error if the served model does not use priority scheduling.priorityz5KVTransfer parameters used for disaggregated serving.kv_transfer_params)r2   r3   r4   r   r   rj   r6   r7   r`   r>   r   r   rY   r   rW   r   r   r   r   r   r!   r   r   r   r   r   r     s4   
 r   )8rK   typingr   r   r   r   regexr   pydanticr   r   r   r	   vllm.entrypoints.chat_utilsr
   vllm.loggerr   vllm.sampling_paramsr   
vllm.utilsr   vllm.utils.import_utilsr   r2   r(   r   r9   r?   rA   rX   ra   rb   rd   ri   rl   rt   rx   r|   r~   r7   r   r   r   r   r   r`   r6   LogitsProcessorsr   r   r   r   r   r   r   r   r   r   r   r   <module>   s\   
 	




"