mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 23:47:46 +00:00
fix: fix some bugs in RD-Agent(Q) (#1143)
* fix some bugs in RD-Agent(Q) * fix factor from report * fix ci
This commit is contained in:
@@ -12,7 +12,7 @@ from rdagent.components.document_reader.document_reader import (
|
||||
load_and_process_pdfs_by_langchain,
|
||||
)
|
||||
from rdagent.core.conf import RD_AGENT_SETTINGS
|
||||
from rdagent.core.proposal import Hypothesis
|
||||
from rdagent.core.proposal import Hypothesis, HypothesisFeedback
|
||||
from rdagent.log import rdagent_logger as logger
|
||||
from rdagent.oai.llm_utils import APIBackend
|
||||
from rdagent.scenarios.qlib.experiment.factor_experiment import QlibFactorExperiment
|
||||
@@ -136,8 +136,25 @@ class FactorReportLoop(FactorRDLoop, metaclass=LoopMeta):
|
||||
logger.log_object(exp.sub_workspace_list, tag="coder result")
|
||||
return exp
|
||||
|
||||
def feedback(self, prev_out: dict[str, Any]):
|
||||
e = prev_out.get(self.EXCEPTION_KEY, None)
|
||||
if e is not None:
|
||||
feedback = HypothesisFeedback(
|
||||
observations=str(e),
|
||||
hypothesis_evaluation="",
|
||||
new_hypothesis="",
|
||||
reason="",
|
||||
decision=False,
|
||||
)
|
||||
logger.log_object(feedback, tag="feedback")
|
||||
self.trace.hist.append((prev_out["direct_exp_gen"]["exp_gen"], feedback))
|
||||
else:
|
||||
feedback = self.summarizer.generate_feedback(prev_out["running"], self.trace)
|
||||
logger.log_object(feedback, tag="feedback")
|
||||
self.trace.hist.append((prev_out["running"], feedback))
|
||||
|
||||
def main(report_folder=None, path=None, all_duration: str | None = None, checkout: bool = True):
|
||||
|
||||
def main(report_folder=None, path=None, all_duration=None, checkout=True):
|
||||
"""
|
||||
Auto R&D Evolving loop for fintech factors (the factors are extracted from finance reports).
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ class QlibFactorRunner(CachedRunner[QlibFactorExperiment]):
|
||||
"lr": str(sota_training_hyperparameters.get("lr", "2e-4")),
|
||||
"early_stop": str(sota_training_hyperparameters.get("early_stop", 10)),
|
||||
"batch_size": str(sota_training_hyperparameters.get("batch_size", 256)),
|
||||
"weight_decay": str(sota_training_hyperparameters.get("weight_decay", 0.0)),
|
||||
"weight_decay": str(sota_training_hyperparameters.get("weight_decay", 0.0001)),
|
||||
}
|
||||
)
|
||||
sota_model_type = sota_model_exp.sub_tasks[0].model_type
|
||||
|
||||
@@ -65,7 +65,7 @@ class QlibModelRunner(CachedRunner[QlibModelExperiment]):
|
||||
env_to_use.update(
|
||||
{
|
||||
"n_epochs": str(training_hyperparameters.get("n_epochs", "100")),
|
||||
"lr": str(training_hyperparameters.get("lr", "1e-3")),
|
||||
"lr": str(training_hyperparameters.get("lr", "2e-4")),
|
||||
"early_stop": str(training_hyperparameters.get("early_stop", 10)),
|
||||
"batch_size": str(training_hyperparameters.get("batch_size", 256)),
|
||||
"weight_decay": str(training_hyperparameters.get("weight_decay", 0.0001)),
|
||||
|
||||
@@ -61,7 +61,7 @@ class QlibQuantHypothesisGen(FactorAndModelHypothesisGen):
|
||||
# ========= LLM ==========
|
||||
elif QUANT_PROP_SETTING.action_selection == "llm":
|
||||
hypothesis_and_feedback = (
|
||||
T("scenarios.qlib.prompts:hypothesis_and_feedback").render(trace=trace)
|
||||
T("scenarios.qlib.prompts:hypothesis_and_feedback").r(trace=trace)
|
||||
if len(trace.hist) > 0
|
||||
else "No previous hypothesis and feedback available since it's the first round."
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user