Skip to content

Commit 433e143

Browse files
committed
Decider worker.py cache bust on config change
1 parent 0038590 commit 433e143

File tree

3 files changed

+33
-6
lines changed

3 files changed

+33
-6
lines changed

align_app/adm/config.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ def get_decider_config(
4949
is_experiment_config = decider_cfg.get("experiment_config", False)
5050

5151
if is_edited_config:
52-
return copy.deepcopy(decider_cfg["resolved_config"])
52+
config = copy.deepcopy(decider_cfg["resolved_config"])
53+
if llm_backbone and "structured_inference_engine" in config:
54+
config["structured_inference_engine"]["model_name"] = llm_backbone
55+
return config
5356

5457
# Layer 1: Load base config - either pre-resolved experiment YAML or Hydra compose.
5558
# Both produce same structure with ${ref:...} that initialize_with_custom_references handles.

align_app/adm/decider/tests/test_worker.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
import multiprocessing as mp
22
from align_app.adm.decider.types import DeciderParams
3+
from align_app.adm.decider.worker import extract_cache_key
4+
5+
6+
class TestExtractCacheKey:
7+
def test_same_config_produces_same_key(self):
8+
config = {"model_name": "test-model", "temperature": 0.7}
9+
key1 = extract_cache_key(config)
10+
key2 = extract_cache_key(config)
11+
assert key1 == key2
12+
13+
def test_different_configs_produce_different_keys(self):
14+
config1 = {"model_name": "test-model", "temperature": 0.7}
15+
config2 = {"model_name": "test-model", "temperature": 0.8}
16+
key1 = extract_cache_key(config1)
17+
key2 = extract_cache_key(config2)
18+
assert key1 != key2
19+
20+
def test_same_model_different_settings_produce_different_keys(self):
21+
config1 = {
22+
"structured_inference_engine": {"model_name": "same-model"},
23+
"setting_a": "value1",
24+
}
25+
config2 = {
26+
"structured_inference_engine": {"model_name": "same-model"},
27+
"setting_a": "value2",
28+
}
29+
key1 = extract_cache_key(config1)
30+
key2 = extract_cache_key(config2)
31+
assert key1 != key2
332

433

534
class TestDeciderWorker:

align_app/adm/decider/worker.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@
1010

1111

1212
def extract_cache_key(resolved_config: Dict[str, Any]) -> str:
13-
engine = resolved_config.get("structured_inference_engine", {})
14-
model_name = engine.get("model_name") if isinstance(engine, dict) else None
15-
if model_name:
16-
return model_name
17-
1813
cache_str = json.dumps(resolved_config, sort_keys=True)
1914
return hashlib.md5(cache_str.encode()).hexdigest()
2015

0 commit comments

Comments
 (0)