Hasan Iqbal
Added initial skeleton
5f0301f unverified
raw
history blame
1.25 kB
import logging
from typing import Tuple
from fact_check_state import FactCheckerState
class StandardTaskSolver:
"""
A class to represent a standard task solver. A standard task solver is a
class that implements a specific task in a fact-checking system. It
receives a FactCheckerState object as input and returns a new
FactCheckerState object as output.
Parameters
----------
args : dict
A dictionary containing the arguments to be passed to the solver.
"""
name: str = None
input_name: str = None
output_name: str = None
global_config: dict = dict()
def __init__(self, args: dict):
self.args = args
logging.debug(self.args)
def __call__(self, state: FactCheckerState, **kwargs) -> Tuple[
bool, FactCheckerState]:
raise NotImplementedError
@classmethod
def build_solver(cls, args):
raise NotImplementedError
@property
def input_name(self):
return self.__class__.input_name
@property
def output_name(self):
return self.__class__.output_name
def __str__(self):
return f'[name:"{self.__class__.name}", input: "{self.__class__.input_name}": output: "{self.__class__.output_name}"]'