request.py 686 Bytes
Newer Older
1
# SPDX-License-Identifier: Apache-2.0
2
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3

4
from abc import ABC, abstractmethod
5
6


7
class AdapterRequest(ABC):
8
9
10
11
12
13
    """
    Base class for adapter requests.
    """

    @property
    @abstractmethod
14
15
    def adapter_id(self) -> int:
        raise NotImplementedError
16

17
    def __post_init__(self) -> None:
18
19
20
21
22
23
24
25
26
        if self.adapter_id < 1:
            raise ValueError(f"id must be > 0, got {self.adapter_id}")

    def __eq__(self, value: object) -> bool:
        return isinstance(
            value, self.__class__) and self.adapter_id == value.adapter_id

    def __hash__(self) -> int:
        return hash(self.adapter_id)