Repository navigation
Expand file tree
/
Copy pathconfig.yaml
More file actions
119 lines (105 loc) · 2.91 KB
/
Copy pathconfig.yaml
File metadata and controls
119 lines (105 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Evolve Framework Configuration (Default Template)
# ================================================
# This file defines repository-wide defaults.
# Priority: explicit config file > experiment config > repository config.
# Experiment name
experiment_name: "default"
# API configuration
# In practice, experiment-level config files usually override these values.
api:
provider: "openai" # Any OpenAI-compatible endpoint
base_url: "your_base_url"
api_key: "your_api_key"
model: "your_model"
temperature: 0
top_p: 0.8
max_tokens: 16384
seed: 42
timeout: 300
retry_times: 3
retry_delay: 5
# Logging configuration
logging:
level: "INFO"
console: true
wandb:
enabled: true
offline: false # Use `wandb sync` later when running offline
project: "evolve"
entity: ""
# Pipeline configuration
pipeline:
# Agent toggles
agents:
manager: false
researcher: true
engineer: true
analyzer: true
# Researcher configuration
researcher:
# When enabled, the researcher edits a sampled parent via SEARCH/REPLACE diffs.
diff_based_evolution: true
# Regex used to parse diff-based edits.
diff_pattern: "<<<<<<< SEARCH\\n(.*?)=======\\n(.*?)>>>>>>> REPLACE"
# Maximum generated code length.
max_code_length: 10000
# Retry counts per agent
max_retries:
researcher: 3
engineer: 2
analyzer: 2
# Engineer timeout in seconds
engineer_timeout: 1800
# Parallel execution
parallel:
num_workers: 1
# Suggested settings:
# - 1: sequential execution, best for debugging
# - 2-4: practical parallelism for production runs
# - >4: requires enough API quota and compute resources
# Number of historical nodes sampled per step
sample_n: 3
# Optional LLM-based judge
# final_score = (1 - judge_ratio) * eval_score + judge_ratio * judge_score
judge:
enabled: false
ratio: 0.2
# Provide `judge.jinja2` in the experiment prompts directory when enabled.
# Cognition configuration
cognition:
# Path relative to the experiment directory
storage_dir: "cognition_data"
embedding:
model: "sentence-transformers/all-MiniLM-L6-v2"
dimension: 384
faiss:
index_type: "IP"
retrieval:
top_k: 3
score_threshold: 0.3
# Reserved for future web-search support
web_search:
enabled: false
# Database configuration
database:
# Path relative to the experiment directory
storage_dir: "database_data"
# Limit database size. When full, the lowest-scoring node is removed.
max_size: null
embedding:
model: "sentence-transformers/all-MiniLM-L6-v2"
dimension: 384
# Sampling algorithm
sampling:
algorithm: "ucb1"
ucb1_c: 1.414
# Island-sampler parameters
island:
num_islands: 5
migration_interval: 10
migration_rate: 0.1
exploration_ratio: 0.2
exploitation_ratio: 0.3
# The remaining probability mass is used for weighted sampling.
faiss:
index_type: "IP"