o
    ˜à·ic
  ã                   @   sj   d dl Z d dlmZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZmZ eeƒZG dd„ dƒZdS )	é    N)ÚSequence)Úinit_logger)ÚLoRARequest)ÚPoolingParams)ÚBeamSearchParamsÚSamplingParamsc                   @   s¤   e Zd ZdedB ddfdd„ZdededB dee dB d	ejdB d
e	e
B eB dB dedB ddfdd„Z			ddededee dB dedB dededdfdd„ZdS )ÚRequestLoggerÚmax_log_lenNÚreturnc                C   s
   || _ d S )N)r	   )Úselfr	   © r   úM/home/ubuntu/vllm_env/lib/python3.10/site-packages/vllm/entrypoints/logger.pyÚ__init__   s   
zRequestLogger.__init__Ú
request_idÚpromptÚprompt_token_idsÚprompt_embedsÚparamsÚlora_requestc                 C   sv   t  tj¡r1| j}|d ur!|d ur|d |… }|d ur!|d |… }t  d||||d ur.|jnd ¡ t  d|||¡ d S )NzNRequest %s details: prompt: %r, prompt_token_ids: %s, prompt_embeds shape: %s.z2Received request %s: params: %s, lora_request: %s.)ÚloggerÚisEnabledForÚloggingÚDEBUGr	   ÚdebugÚshapeÚinfo)r   r   r   r   r   r   r   r	   r   r   r   Ú
log_inputs   s(   	ù
üzRequestLogger.log_inputsFÚoutputsÚoutput_token_idsÚfinish_reasonÚis_streamingÚdeltac           	      C   sf   | j }|d ur|d ur|d |… }|d urt|ƒd |… }d}|r'|r%dnd}t d|||||¡ d S )NÚ z (streaming delta)z (streaming complete)zLGenerated response %s%s: output: %r, output_token_ids: %s, finish_reason: %s)r	   Úlistr   r   )	r   r   r   r   r   r    r!   r	   Ústream_infor   r   r   Úlog_outputs8   s"   	ùzRequestLogger.log_outputs)NFF)Ú__name__Ú
__module__Ú__qualname__Úintr   Ústrr#   ÚtorchÚTensorr   r   r   r   r   r   Úboolr%   r   r   r   r   r      sF    þý
üûúù
ø(ùþý
üûúùør   )r   Úcollections.abcr   r+   Úvllm.loggerr   Úvllm.lora.requestr   Úvllm.pooling_paramsr   Úvllm.sampling_paramsr   r   r&   r   r   r   r   r   r   Ú<module>   s   