logger.py 1.65 KB
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3

4
from typing import Optional, Union
5

6
7
import torch

8
9
10
11
from vllm.logger import init_logger
from vllm.lora.request import LoRARequest
from vllm.pooling_params import PoolingParams
from vllm.prompt_adapter.request import PromptAdapterRequest
12
from vllm.sampling_params import BeamSearchParams, SamplingParams
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

logger = init_logger(__name__)


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],
28
        prompt_token_ids: Optional[list[int]],
29
        prompt_embeds: Optional[torch.Tensor],
30
31
        params: Optional[Union[SamplingParams, PoolingParams,
                               BeamSearchParams]],
32
33
34
35
36
37
38
39
40
41
42
43
44
45
        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(
            "Received request %s: prompt: %r, "
            "params: %s, prompt_token_ids: %s, "
46
            "prompt_embeds shape: %s, "
47
            "lora_request: %s, prompt_adapter_request: %s.", request_id,
48
49
50
            prompt, params, prompt_token_ids,
            prompt_embeds.shape if prompt_embeds is not None else None,
            lora_request, prompt_adapter_request)