AnP/Python/Interfaces/Managers/AIInterpretersManagerInterface.py

29 lines
843 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from typing import Any, Callable, Self, Optional
from abc import ABC, abstractmethod
from Models.AIResponseModel import AIResponseModel
class AIInterpretersManagerInterface(ABC):
@abstractmethod
def update(self:Self) -> None:pass
@abstractmethod
def reset(self:Self) -> None:pass
@abstractmethod
def close(self:Self) -> None:pass
@abstractmethod
def add(self:Self, inputs:Any|None, overwrite:bool = False) -> None:pass
@abstractmethod
def remove(self:Self, keys:Optional[str|list[str]] = None) -> None:pass
@abstractmethod
def request(self:Self, key:str, session:int|None, message:str, callback:Callable[[int, AIResponseModel], None]) -> int|None:pass
@abstractmethod
def cancel_request(self:Self, key:str, id:int) -> None:pass