o
    :/Êiá  ã                   @   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>   || _ t tj¡st d¡ d S t tj¡st d¡ d S d S )Nzt`--enable-log-requests` is set but the minimum log level is higher than INFO. No request information will be logged.zÂ`--enable-log-requests` is set but the minimum log level is higher than DEBUG. Only limited information will be logged to minimize overhead. To view more details, set `VLLM_LOGGING_LEVEL=DEBUG`.)r	   ÚloggerÚisEnabledForÚloggingÚINFOÚwarning_onceÚDEBUGÚ	info_once)Úselfr	   © r   úd/lsinfo/ai/hellotax_ai/llm_service/venv_vllm/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.)r   r   r   r   r	   Ú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_outputsF   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   