diff --git a/src/guidellm/backend/backend.py b/src/guidellm/backend/backend.py index bf2788a7..bcca8483 100644 --- a/src/guidellm/backend/backend.py +++ b/src/guidellm/backend/backend.py @@ -79,6 +79,7 @@ def create(cls, type_: BackendType, **kwargs) -> "Backend": def __init__(self, type_: BackendType): self._type = type_ + self._validated = False @property def type_(self) -> BackendType: @@ -124,6 +125,8 @@ async def validate(self): Handle final setup and validate the backend is ready for use. If not successful, raises the appropriate exception. """ + if self._validated: + return logger.info("{} validating backend {}", self.__class__.__name__, self.type_) await self.check_setup() models = await self.available_models() @@ -146,6 +149,7 @@ async def validate(self): pass await self.reset() + self._validated = True @abstractmethod async def check_setup(self):