COLE / src /model /model.py
Yurhu's picture
Initial snapshot upload
75ec748 verified
raw
history blame contribute delete
706 Bytes
# pylint: disable=method-hidden
from abc import abstractmethod, ABC
from typing import Union, List
class Model(ABC):
def __init__(self, model_name: str, inference_callback=None, prompt_only=True):
self.name = model_name
if inference_callback is not None:
self.infer = inference_callback
self.prompt_only = prompt_only
@abstractmethod
def infer(
self, prompts: Union[str, List[str]], possible_answers, conditions=None
) -> Union[str, List[str]]:
raise NotImplementedError
@abstractmethod
def generate(self, prompts: List[str], conditions=None) -> Union[str, List[str]]:
raise NotImplementedError