diff --git a/rdagent/components/coder/factor_coder/CoSTEER/__init__.py b/rdagent/components/coder/factor_coder/CoSTEER/__init__.py index e3a81409..9fa2f84e 100644 --- a/rdagent/components/coder/factor_coder/CoSTEER/__init__.py +++ b/rdagent/components/coder/factor_coder/CoSTEER/__init__.py @@ -98,4 +98,5 @@ class FactorCoSTEER(TaskGenerator[FactorExperiment]): if self.new_knowledge_base_path is not None: pickle.dump(factor_knowledge_base, open(self.new_knowledge_base_path, "wb")) self.knowledge_base = factor_knowledge_base + factor_experiment.based_experiments = exp.based_experiments return factor_experiment diff --git a/rdagent/components/coder/factor_coder/CoSTEER/evolving_strategy.py b/rdagent/components/coder/factor_coder/CoSTEER/evolving_strategy.py index fcda9ad8..94e1af9b 100644 --- a/rdagent/components/coder/factor_coder/CoSTEER/evolving_strategy.py +++ b/rdagent/components/coder/factor_coder/CoSTEER/evolving_strategy.py @@ -149,7 +149,7 @@ class FactorEvolvingStrategy(MultiProcessEvolvingStrategy): queried_former_failed_knowledge=queried_former_failed_knowledge_to_render, ) ) - session = APIBackend(use_chat_cache=False).build_chat_session( + session = APIBackend(use_chat_cache=True).build_chat_session( session_system_prompt=system_prompt, ) @@ -249,7 +249,7 @@ class FactorEvolvingStrategyWithGraph(MultiProcessEvolvingStrategy): ) ) - session = APIBackend(use_chat_cache=False).build_chat_session( + session = APIBackend(use_chat_cache=True).build_chat_session( session_system_prompt=system_prompt, ) @@ -276,7 +276,7 @@ class FactorEvolvingStrategyWithGraph(MultiProcessEvolvingStrategy): ) .strip("\n") ) - session_summary = APIBackend(use_chat_cache=False).build_chat_session( + session_summary = APIBackend(use_chat_cache=True).build_chat_session( session_system_prompt=error_summary_system_prompt, ) for _ in range(10): # max attempt to reduce the length of error_summary_user_prompt diff --git a/rdagent/components/coder/model_coder/CoSTEER/__init__.py b/rdagent/components/coder/model_coder/CoSTEER/__init__.py index be9ede38..a5818987 100644 --- a/rdagent/components/coder/model_coder/CoSTEER/__init__.py +++ b/rdagent/components/coder/model_coder/CoSTEER/__init__.py @@ -83,4 +83,5 @@ class ModelCoSTEER(TaskGenerator[ModelExperiment]): if self.new_knowledge_base_path is not None: pickle.dump(model_knowledge_base, open(self.new_knowledge_base_path, "wb")) self.knowledge_base = model_knowledge_base + model_experiment.based_experiments = exp.based_experiments return model_experiment diff --git a/rdagent/scenarios/qlib/factor_proposal.py b/rdagent/scenarios/qlib/factor_proposal.py index 7be92420..b66d752d 100644 --- a/rdagent/scenarios/qlib/factor_proposal.py +++ b/rdagent/scenarios/qlib/factor_proposal.py @@ -77,4 +77,6 @@ class QlibFactorHypothesis2Experiment(FactorHypothesis2Experiment): tasks.append(FactorTask(factor_name, description, formulation, variables)) exp = FactorExperiment(tasks) exp.based_experiments = [t[1] for t in trace.hist if t[2]] + if len(exp.based_experiments) == 0: + exp.based_experiments.append(FactorExperiment(sub_tasks=[])) return exp