Skip to content

vllm.adapter_commons.models

T module-attribute

T = TypeVar('T')

logger module-attribute

logger = init_logger(__name__)

AdapterLRUCache

Bases: LRUCache[int, T]

Source code in vllm/adapter_commons/models.py
class AdapterLRUCache(LRUCache[int, T]):

    def __init__(self, capacity: int, deactivate_fn: Callable[[int], object]):
        super().__init__(capacity)
        self.deactivate_fn = deactivate_fn

    def _on_remove(self, key: int, value: Optional[T]):
        logger.debug("Removing adapter int id: %d", key)
        self.deactivate_fn(key)
        return super()._on_remove(key, value)

deactivate_fn instance-attribute

deactivate_fn = deactivate_fn

__init__

__init__(
    capacity: int, deactivate_fn: Callable[[int], object]
)
Source code in vllm/adapter_commons/models.py
def __init__(self, capacity: int, deactivate_fn: Callable[[int], object]):
    super().__init__(capacity)
    self.deactivate_fn = deactivate_fn

_on_remove

_on_remove(key: int, value: Optional[T])
Source code in vllm/adapter_commons/models.py
def _on_remove(self, key: int, value: Optional[T]):
    logger.debug("Removing adapter int id: %d", key)
    self.deactivate_fn(key)
    return super()._on_remove(key, value)

AdapterModel

Bases: ABC

Source code in vllm/adapter_commons/models.py
class AdapterModel(ABC):

    def __init__(self, model_id=None):
        self.id = model_id

    @abstractmethod
    def from_local_checkpoint(cls, model_dir, model_id=None, **kwargs):
        # Common initialization code
        # Load weights or embeddings from local checkpoint
        raise NotImplementedError("Subclasses must implement this method.")

id instance-attribute

id = model_id

__init__

__init__(model_id=None)
Source code in vllm/adapter_commons/models.py
def __init__(self, model_id=None):
    self.id = model_id

from_local_checkpoint abstractmethod

from_local_checkpoint(model_dir, model_id=None, **kwargs)
Source code in vllm/adapter_commons/models.py
@abstractmethod
def from_local_checkpoint(cls, model_dir, model_id=None, **kwargs):
    # Common initialization code
    # Load weights or embeddings from local checkpoint
    raise NotImplementedError("Subclasses must implement this method.")

AdapterModelManager

Bases: ABC

Source code in vllm/adapter_commons/models.py
class AdapterModelManager(ABC):

    def __init__(
        self,
        model: nn.Module,
    ):
        """Create a AdapterModelManager and adapter for a given model.
        Args:
            model: the model to be adapted.
        """
        self.model: nn.Module = model
        self._registered_adapters: dict[int, Any] = {}
        # Dict instead of a Set for compatibility with LRUCache.
        self._active_adapters: dict[int, None] = {}
        self.adapter_type = 'Adapter'
        self._last_mapping = None

    def __len__(self) -> int:
        return len(self._registered_adapters)

    @property
    @abstractmethod
    def adapter_slots(self) -> int:
        raise NotImplementedError

    @property
    @abstractmethod
    def capacity(self) -> int:
        raise NotImplementedError

    @abstractmethod
    def activate_adapter(self, adapter_id: int) -> bool:
        raise NotImplementedError

    @abstractmethod
    def deactivate_adapter(self, adapter_id: int) -> bool:
        raise NotImplementedError

    @abstractmethod
    def add_adapter(self, adapter: Any) -> bool:
        raise NotImplementedError

    @abstractmethod
    def set_adapter_mapping(self, mapping: Any) -> None:
        raise NotImplementedError

    @abstractmethod
    def remove_adapter(self, adapter_id: int) -> bool:
        raise NotImplementedError

    @abstractmethod
    def remove_all_adapters(self) -> None:
        raise NotImplementedError

    @abstractmethod
    def get_adapter(self, adapter_id: int) -> Optional[Any]:
        raise NotImplementedError

    @abstractmethod
    def list_adapters(self) -> dict[int, Any]:
        raise NotImplementedError

    @abstractmethod
    def pin_adapter(self, adapter_id: int) -> bool:
        raise NotImplementedError

_active_adapters instance-attribute

_active_adapters: dict[int, None] = {}

_last_mapping instance-attribute

_last_mapping = None

_registered_adapters instance-attribute

_registered_adapters: dict[int, Any] = {}

adapter_slots abstractmethod property

adapter_slots: int

adapter_type instance-attribute

adapter_type = 'Adapter'

capacity abstractmethod property

capacity: int

model instance-attribute

model: Module = model

__init__

__init__(model: Module)

Create a AdapterModelManager and adapter for a given model. Args: model: the model to be adapted.

Source code in vllm/adapter_commons/models.py
def __init__(
    self,
    model: nn.Module,
):
    """Create a AdapterModelManager and adapter for a given model.
    Args:
        model: the model to be adapted.
    """
    self.model: nn.Module = model
    self._registered_adapters: dict[int, Any] = {}
    # Dict instead of a Set for compatibility with LRUCache.
    self._active_adapters: dict[int, None] = {}
    self.adapter_type = 'Adapter'
    self._last_mapping = None

__len__

__len__() -> int
Source code in vllm/adapter_commons/models.py
def __len__(self) -> int:
    return len(self._registered_adapters)

activate_adapter abstractmethod

activate_adapter(adapter_id: int) -> bool
Source code in vllm/adapter_commons/models.py
@abstractmethod
def activate_adapter(self, adapter_id: int) -> bool:
    raise NotImplementedError

add_adapter abstractmethod

add_adapter(adapter: Any) -> bool
Source code in vllm/adapter_commons/models.py
@abstractmethod
def add_adapter(self, adapter: Any) -> bool:
    raise NotImplementedError

deactivate_adapter abstractmethod

deactivate_adapter(adapter_id: int) -> bool
Source code in vllm/adapter_commons/models.py
@abstractmethod
def deactivate_adapter(self, adapter_id: int) -> bool:
    raise NotImplementedError

get_adapter abstractmethod

get_adapter(adapter_id: int) -> Optional[Any]
Source code in vllm/adapter_commons/models.py
@abstractmethod
def get_adapter(self, adapter_id: int) -> Optional[Any]:
    raise NotImplementedError

list_adapters abstractmethod

list_adapters() -> dict[int, Any]
Source code in vllm/adapter_commons/models.py
@abstractmethod
def list_adapters(self) -> dict[int, Any]:
    raise NotImplementedError

pin_adapter abstractmethod

pin_adapter(adapter_id: int) -> bool
Source code in vllm/adapter_commons/models.py
@abstractmethod
def pin_adapter(self, adapter_id: int) -> bool:
    raise NotImplementedError

remove_adapter abstractmethod

remove_adapter(adapter_id: int) -> bool
Source code in vllm/adapter_commons/models.py
@abstractmethod
def remove_adapter(self, adapter_id: int) -> bool:
    raise NotImplementedError

remove_all_adapters abstractmethod

remove_all_adapters() -> None
Source code in vllm/adapter_commons/models.py
@abstractmethod
def remove_all_adapters(self) -> None:
    raise NotImplementedError

set_adapter_mapping abstractmethod

set_adapter_mapping(mapping: Any) -> None
Source code in vllm/adapter_commons/models.py
@abstractmethod
def set_adapter_mapping(self, mapping: Any) -> None:
    raise NotImplementedError