OpenLLM / tools /registry.py
xusenlin's picture
Upload 13 files
20048e3
raw
history blame
637 Bytes
from typing import Any
class BaseParent:
@classmethod
def add_to_registry(cls, name: str, obj: Any):
assert (
name not in cls.registry
), f"Class {name} already exists in base class {cls.__name__} registry {cls.registry}"
cls.registry[name] = obj
@classmethod
def create(cls, class_key, *args, **kwargs):
return cls.registry[class_key](*args, **kwargs)
@classmethod
def __getitem__(cls, key):
assert (
key in cls.registry
), f"Class {key} not found in base class {cls.__name__} registry {cls.registry}"
return cls.registry[key]