mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 23:47:46 +00:00
e0a24fb46f
* ignore result csv file * fix app scripts * rename taskgenerator to developer and generate to develop * fix a config bug in coder * fix a small bug in factor coder evaluators * remove a single logger in factor coder evaluators * fix a small bug in model coder main.py * rename Implementation to Workspace * move the prepare the inject_code into FBWorkspace to align all the behavior * fix a small bug in model feedback * remove debug lines for multi processing and simplify evaluators multi proc * add a copy function to workspace to freeze the workspace && add config prefix to speed up debugging * make hypothesisgen a abc class * use Qlib***Experiment * fix a small bug * rename Imp to Ws * rename sub_implementations to sub_workspace_list * fix a bug in feedback not presented as content in prompts * move proposal pys to proposal folder * reformat the folder * align factor and model qlib workspace and use template to handle the workspace * add a filter to evoagent to filter out false evo * align multi_proc_n into RDAGENT seeting * handle when runner gets empty experiment * fix logger merge remaining problems * fix black and isort automatically
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
from pathlib import Path
|
|
from typing import Literal, Union
|
|
|
|
from pydantic_settings import BaseSettings
|
|
|
|
SELECT_METHOD = Literal["random", "scheduler"]
|
|
|
|
|
|
class FactorImplementSettings(BaseSettings):
|
|
class Config:
|
|
env_prefix = "FACTOR_CODER_" # Use FACTOR_CODER_ as prefix for environment variables
|
|
|
|
coder_use_cache: bool = False
|
|
data_folder: str = str(
|
|
(Path().cwd() / "git_ignore_folder" / "factor_implementation_source_data").absolute(),
|
|
)
|
|
data_folder_debug: str = str(
|
|
(Path().cwd() / "git_ignore_folder" / "factor_implementation_source_data_debug").absolute(),
|
|
)
|
|
cache_location: str = str(
|
|
(Path().cwd() / "git_ignore_folder" / "factor_implementation_execution_cache").absolute(),
|
|
)
|
|
enable_execution_cache: bool = True # whether to enable the execution cache
|
|
|
|
# TODO: the factor implement specific settings should not appear in this settings
|
|
# Evolving should have a method specific settings
|
|
# evolving related config
|
|
fail_task_trial_limit: int = 20
|
|
|
|
v1_query_former_trace_limit: int = 5
|
|
v1_query_similar_success_limit: int = 5
|
|
|
|
v2_query_component_limit: int = 1
|
|
v2_query_error_limit: int = 1
|
|
v2_query_former_trace_limit: int = 1
|
|
v2_error_summary: bool = False
|
|
v2_knowledge_sampler: float = 1.0
|
|
|
|
file_based_execution_timeout: int = 120 # seconds for each factor implementation execution
|
|
|
|
select_method: SELECT_METHOD = "random"
|
|
select_ratio: float = 0.5
|
|
|
|
max_loop: int = 10
|
|
|
|
knowledge_base_path: Union[str, None] = None
|
|
new_knowledge_base_path: Union[str, None] = None
|
|
|
|
python_bin: str = "python"
|
|
|
|
|
|
FACTOR_IMPLEMENT_SETTINGS = FactorImplementSettings()
|