New Structure Demo (#120)

better demo
---------

Co-authored-by: Young <afe.young@gmail.com>
Co-authored-by: Taozhi Wang <taozhi.mark.wang@gmail.com>
Co-authored-by: you-n-g <you-n-g@users.noreply.github.com>
Co-authored-by: cyncyw <47289405+taozhiwang@users.noreply.github.com>
This commit is contained in:
XianBW
2024-07-30 17:23:05 +08:00
committed by GitHub
parent 1b4e98a752
commit dbbec2ffaf
11 changed files with 984 additions and 73 deletions
@@ -1,13 +1,12 @@
from pathlib import Path
from rdagent.components.coder.model_coder.model import (
ModelExperiment,
)
from rdagent.components.coder.model_coder.model import ModelExperiment
from rdagent.core.prompts import Prompts
from rdagent.core.scenario import Scenario
prompt_dict = Prompts(file_path=Path(__file__).parent / "prompts.yaml")
class GeneralModelScenario(Scenario):
@property
def background(self) -> str:
@@ -28,10 +27,10 @@ class GeneralModelScenario(Scenario):
@property
def simulator(self) -> str:
return prompt_dict["general_model_simulator"]
@property
def rich_style_description(self)->str:
return '''
def rich_style_description(self) -> str:
return """
# General Model Scenario
## Overview
@@ -61,7 +60,7 @@ This scenario automates the development of PyTorch models by reading academic pa
- **Time-Series Data:** Sequential data points indexed in time order, useful for forecasting and temporal pattern recognition.
- **Graph Data:** Data structured as nodes and edges, suitable for network analysis and relational tasks.
'''
"""
def get_scenario_all_desc(self) -> str:
return f"""Background of the scenario:
@@ -3,18 +3,24 @@ from dotenv import load_dotenv
load_dotenv(override=True)
import fire
from rdagent.app.model_extraction_and_code.GeneralModel import GeneralModelScenario
from rdagent.components.coder.model_coder.task_loader import (
ModelExperimentLoaderFromPDFfiles,
)
from rdagent.scenarios.qlib.developer.model_coder import QlibModelCoSTEER
from rdagent.app.model_extraction_and_code.GeneralModel import GeneralModelScenario
from rdagent.components.document_reader.document_reader import extract_first_page_screenshot_from_pdf
from rdagent.components.document_reader.document_reader import (
extract_first_page_screenshot_from_pdf,
)
from rdagent.log import rdagent_logger as logger
import fire
from rdagent.scenarios.qlib.developer.model_coder import QlibModelCoSTEER
def extract_models_and_implement(report_file_path: str = "/home/v-xisenwang/RD-Agent/rdagent/app/model_extraction_and_code/test_doc1.pdf") -> None:
def extract_models_and_implement(
report_file_path: str = "/home/v-xisenwang/RD-Agent/rdagent/app/model_extraction_and_code/test_doc1.pdf",
) -> None:
with logger.tag("r"):
# Save Relevant Images
# Save Relevant Images
img = extract_first_page_screenshot_from_pdf(report_file_path)
logger.log_object(img, tag="pdf_image")
scenario = GeneralModelScenario()
@@ -26,5 +32,6 @@ def extract_models_and_implement(report_file_path: str = "/home/v-xisenwang/RD-A
logger.log_object(exp, tag="developed_experiment")
return exp
if __name__ == "__main__":
fire.Fire(extract_models_and_implement)
@@ -41,6 +41,7 @@ class BenchmarkAnalyzer:
processed_data = self.analyze_data(summarized_data)
final_res[experiment] = processed_data.iloc[-1, :]
return final_res
def reformat_succ_rate(self, display_df):
new_idx = []
display_df = display_df[display_df.index.isin(self.index_map.keys())]
@@ -166,6 +167,7 @@ class Plotter:
plt.title("Comparison of Different Methods")
plt.savefig(file_name)
if __name__ == "__main__":
settings = BenchmarkSettings()
benchmark = BenchmarkAnalyzer(settings)
@@ -15,12 +15,6 @@ from rdagent.scenarios.qlib.factor_experiment_loader.json_loader import (
FactorTestCaseLoaderFromJsonFile,
)
from rdagent.core.utils import import_class
from rdagent.core.scenario import Scenario
from rdagent.scenarios.qlib.experiment.factor_experiment import QlibFactorScenario
from pprint import pprint
# 1.read the settings
bs = BenchmarkSettings()