diff --git a/rdagent/app/utils/info.py b/rdagent/app/utils/info.py index 7e79f691..e0c03596 100644 --- a/rdagent/app/utils/info.py +++ b/rdagent/app/utils/info.py @@ -54,11 +54,11 @@ def rdagent_info(): current_version = importlib.metadata.version("rdagent") logger.info(f"RD-Agent version: {current_version}") api_url = f"https://api.github.com/repos/microsoft/RD-Agent/contents/requirements.txt?ref=main" - response = requests.get(api_url) + response = requests.get(api_url, timeout=30) if response.status_code == 200: files = response.json() file_url = files["download_url"] - file_response = requests.get(file_url) + file_response = requests.get(file_url, timeout=30) if file_response.status_code == 200: all_file_contents = file_response.text.split("\n") else: diff --git a/rdagent/scenarios/data_science/proposal/exp_gen/select/submit.py b/rdagent/scenarios/data_science/proposal/exp_gen/select/submit.py index fb3fa088..ea6b9533 100644 --- a/rdagent/scenarios/data_science/proposal/exp_gen/select/submit.py +++ b/rdagent/scenarios/data_science/proposal/exp_gen/select/submit.py @@ -1,3 +1,4 @@ +import ast import json import os import pickle @@ -587,8 +588,8 @@ def _parsing_score(grade_stdout: str) -> Optional[float]: except: pass try: - # Priority 2: Eval dict - return float(eval(json_str)["score"]) + # Priority 2: safe literal eval for Python-style dicts + return float(ast.literal_eval(json_str)["score"]) except: pass try: