From 5988683cd9ad0279df50561d7aece83b41ca6233 Mon Sep 17 00:00:00 2001 From: Xu Yang Date: Tue, 15 Oct 2024 12:21:33 +0800 Subject: [PATCH] force use_chat_cache False when facing error in evaluators (#432) --- rdagent/components/coder/factor_coder/CoSTEER/evaluators.py | 6 ++++-- .../scenarios/qlib/factor_experiment_loader/json_loader.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/rdagent/components/coder/factor_coder/CoSTEER/evaluators.py b/rdagent/components/coder/factor_coder/CoSTEER/evaluators.py index d1d7fcf4..214a80f8 100644 --- a/rdagent/components/coder/factor_coder/CoSTEER/evaluators.py +++ b/rdagent/components/coder/factor_coder/CoSTEER/evaluators.py @@ -190,7 +190,8 @@ class FactorOutputFormatEvaluator(FactorEvaluator): while attempts < max_attempts: try: - resp = APIBackend().build_messages_and_create_chat_completion( + api = APIBackend() if attempts == 0 else APIBackend(use_chat_cache=False) + resp = api.build_messages_and_create_chat_completion( user_prompt=gen_df_info_str, system_prompt=system_prompt, json_mode=True ) resp_dict = json.loads(resp) @@ -535,8 +536,9 @@ class FactorFinalDecisionEvaluator(Evaluator): while attempts < max_attempts: try: + api = APIBackend() if attempts == 0 else APIBackend(use_chat_cache=False) final_evaluation_dict = json.loads( - APIBackend().build_messages_and_create_chat_completion( + api.build_messages_and_create_chat_completion( user_prompt=user_prompt, system_prompt=system_prompt, json_mode=True, diff --git a/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py b/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py index ecbeeb7c..19e19b5b 100644 --- a/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py +++ b/rdagent/scenarios/qlib/factor_experiment_loader/json_loader.py @@ -55,7 +55,7 @@ class FactorTestCaseLoaderFromJsonFile: factor_formulation=factor_data["formulation"], variables=factor_data["variables"], ) - gt = FactorFBWorkspace(task, raise_exception=True) + gt = FactorFBWorkspace(task, raise_exception=False) code = {"factor.py": factor_data["gt_code"]} gt.inject_code(**code) test_cases.test_case_l.append(TestCase(task, gt))