"vllm/vscode:/vscode.git/clone" did not exist on "bd7157a071e28521979255e21526d887a87fc1a7"
metadata.py 1.24 KB
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3

4
5
6
7
from dataclasses import dataclass

import torch

8
from vllm.v1.sample.logits_processor import LogitsProcessors
9

10
11
12

@dataclass
class SamplingMetadata:
13
    temperature: torch.Tensor | None
14
15
16
    all_greedy: bool
    all_random: bool

17
18
    top_p: torch.Tensor | None
    top_k: torch.Tensor | None
19

20
    generators: dict[int, torch.Generator]
21

22
    # None means no logprobs, 0 means sampled token logprobs only
23
    max_num_logprobs: int | None
24
25

    no_penalties: bool
26
    prompt_token_ids: torch.Tensor | None
27
28
29
30
    frequency_penalties: torch.Tensor
    presence_penalties: torch.Tensor
    repetition_penalties: torch.Tensor

31
    output_token_ids: list[list[int]]
32

33
34
    # `allowed_token_ids_mask` is a 2D bool tensor of shape (max batch size,
    # vocab size).
35
    allowed_token_ids_mask: torch.Tensor | None
36
37
38

    # req_index -> bad_words_token_ids
    bad_words_token_ids: dict[int, list[list[int]]]
39
40

    # Loaded logits processors
41
    logitsprocs: LogitsProcessors
42

43
44
45
46
    # Optional host-side summaries for top-k fast paths.
    max_top_k: int | None = None
    has_any_no_top_k: bool = False

47
    # Speculative token ids
48
    spec_token_ids: list[list[int]] | None = None