mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 23:47:46 +00:00
a126c84c92
* refine CI script * refine all the code to higher quality * refine the script to factor extraction and implementation * add task loader interface * add a task loader interface && move pdf analysis to pdf task loader * change the name to global variables --------- Co-authored-by: xuyang1 <xuyang1@microsoft.com>
38 lines
894 B
Python
38 lines
894 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Tuple
|
|
import pandas as pd
|
|
|
|
"""
|
|
This file contains the all the data class for rdagent task.
|
|
"""
|
|
|
|
|
|
class BaseTask(ABC):
|
|
# 把name放在这里作为主键
|
|
pass
|
|
|
|
|
|
class TaskImplementation(ABC):
|
|
def __init__(self, target_task: BaseTask) -> None:
|
|
self.target_task = target_task
|
|
|
|
@abstractmethod
|
|
def execute(self, *args, **kwargs) -> Tuple[str, pd.DataFrame]:
|
|
raise NotImplementedError("__call__ method is not implemented.")
|
|
|
|
|
|
class TestCase:
|
|
def __init__(
|
|
self,
|
|
target_task: BaseTask,
|
|
ground_truth: TaskImplementation,
|
|
):
|
|
self.ground_truth = ground_truth
|
|
self.target_task = target_task
|
|
|
|
|
|
class TaskLoader:
|
|
@abstractmethod
|
|
def load(self, *args, **kwargs) -> BaseTask | list[BaseTask]:
|
|
raise NotImplementedError("load method is not implemented.")
|