Skip to content

Commit 44fd2ee

Browse files
authored
fix: fix some bugs in RD-Agent(Q) (#1143)
* fix some bugs in RD-Agent(Q) * fix factor from report * fix ci
1 parent 8fc1e9b commit 44fd2ee

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

rdagent/app/qlib_rd_loop/factor_from_report.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
load_and_process_pdfs_by_langchain,
1313
)
1414
from rdagent.core.conf import RD_AGENT_SETTINGS
15-
from rdagent.core.proposal import Hypothesis
15+
from rdagent.core.proposal import Hypothesis, HypothesisFeedback
1616
from rdagent.log import rdagent_logger as logger
1717
from rdagent.oai.llm_utils import APIBackend
1818
from rdagent.scenarios.qlib.experiment.factor_experiment import QlibFactorExperiment
@@ -136,8 +136,25 @@ def coding(self, prev_out: dict[str, Any]):
136136
logger.log_object(exp.sub_workspace_list, tag="coder result")
137137
return exp
138138

139+
def feedback(self, prev_out: dict[str, Any]):
140+
e = prev_out.get(self.EXCEPTION_KEY, None)
141+
if e is not None:
142+
feedback = HypothesisFeedback(
143+
observations=str(e),
144+
hypothesis_evaluation="",
145+
new_hypothesis="",
146+
reason="",
147+
decision=False,
148+
)
149+
logger.log_object(feedback, tag="feedback")
150+
self.trace.hist.append((prev_out["direct_exp_gen"]["exp_gen"], feedback))
151+
else:
152+
feedback = self.summarizer.generate_feedback(prev_out["running"], self.trace)
153+
logger.log_object(feedback, tag="feedback")
154+
self.trace.hist.append((prev_out["running"], feedback))
155+
139156

140-
def main(report_folder=None, path=None, all_duration: str | None = None, checkout: bool = True):
157+
def main(report_folder=None, path=None, all_duration=None, checkout=True):
141158
"""
142159
Auto R&D Evolving loop for fintech factors (the factors are extracted from finance reports).
143160

rdagent/scenarios/qlib/developer/factor_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ def develop(self, exp: QlibFactorExperiment) -> QlibFactorExperiment:
145145
"lr": str(sota_training_hyperparameters.get("lr", "2e-4")),
146146
"early_stop": str(sota_training_hyperparameters.get("early_stop", 10)),
147147
"batch_size": str(sota_training_hyperparameters.get("batch_size", 256)),
148-
"weight_decay": str(sota_training_hyperparameters.get("weight_decay", 0.0)),
148+
"weight_decay": str(sota_training_hyperparameters.get("weight_decay", 0.0001)),
149149
}
150150
)
151151
sota_model_type = sota_model_exp.sub_tasks[0].model_type

rdagent/scenarios/qlib/developer/model_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def develop(self, exp: QlibModelExperiment) -> QlibModelExperiment:
6565
env_to_use.update(
6666
{
6767
"n_epochs": str(training_hyperparameters.get("n_epochs", "100")),
68-
"lr": str(training_hyperparameters.get("lr", "1e-3")),
68+
"lr": str(training_hyperparameters.get("lr", "2e-4")),
6969
"early_stop": str(training_hyperparameters.get("early_stop", 10)),
7070
"batch_size": str(training_hyperparameters.get("batch_size", 256)),
7171
"weight_decay": str(training_hyperparameters.get("weight_decay", 0.0001)),

rdagent/scenarios/qlib/proposal/quant_proposal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def prepare_context(self, trace: Trace) -> Tuple[dict, bool]:
6161
# ========= LLM ==========
6262
elif QUANT_PROP_SETTING.action_selection == "llm":
6363
hypothesis_and_feedback = (
64-
T("scenarios.qlib.prompts:hypothesis_and_feedback").render(trace=trace)
64+
T("scenarios.qlib.prompts:hypothesis_and_feedback").r(trace=trace)
6565
if len(trace.hist) > 0
6666
else "No previous hypothesis and feedback available since it's the first round."
6767
)

0 commit comments

Comments
 (0)