from typing import List, Optional, Union from loguru import logger from aphrodite.common.pooling_params import PoolingParams from aphrodite.common.sampling_params import SamplingParams from aphrodite.lora.request import LoRARequest from aphrodite.prompt_adapter.request import PromptAdapterRequest class RequestLogger: def __init__(self, *, max_log_len: Optional[int]) -> None: super().__init__() self.max_log_len = max_log_len def log_inputs( self, request_id: str, prompt: Optional[str], prompt_token_ids: Optional[List[int]], params: Optional[Union[SamplingParams, PoolingParams]], lora_request: Optional[LoRARequest], prompt_adapter_request: Optional[PromptAdapterRequest], ) -> None: max_log_len = self.max_log_len if max_log_len is not None: if prompt is not None: prompt = prompt[:max_log_len] if prompt_token_ids is not None: prompt_token_ids = prompt_token_ids[:max_log_len] logger.info(f"Received request {request_id}: " f"prompt: {prompt}, " f"params: {params}, " f"prompt_token_ids: {prompt_token_ids}, " f"lora_request: {lora_request}, " f"prompt_adapter_request: {prompt_adapter_request}.")