fix: universal parsing + OpenRouter + state bug — purpose_agent/optimizer.py
Browse files- purpose_agent/optimizer.py +11 -5
purpose_agent/optimizer.py
CHANGED
|
@@ -248,12 +248,13 @@ class HeuristicOptimizer:
|
|
| 248 |
)),
|
| 249 |
]
|
| 250 |
|
|
|
|
|
|
|
| 251 |
try:
|
| 252 |
result = self.llm.generate_structured(messages, schema=DISTILL_SCHEMA)
|
| 253 |
-
except Exception
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
result = self._parse_distillation_text(raw)
|
| 257 |
|
| 258 |
new_heuristics = []
|
| 259 |
for h_data in result.get("heuristics", []):
|
|
@@ -356,7 +357,12 @@ class HeuristicOptimizer:
|
|
| 356 |
)),
|
| 357 |
]
|
| 358 |
|
| 359 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 360 |
|
| 361 |
merged = []
|
| 362 |
for h_data in result.get("heuristics", []):
|
|
|
|
| 248 |
)),
|
| 249 |
]
|
| 250 |
|
| 251 |
+
from purpose_agent.robust_parser import parse_optimizer_response
|
| 252 |
+
|
| 253 |
try:
|
| 254 |
result = self.llm.generate_structured(messages, schema=DISTILL_SCHEMA)
|
| 255 |
+
except Exception:
|
| 256 |
+
raw = self.llm.generate(messages, temperature=0.5, max_tokens=2000)
|
| 257 |
+
result = parse_optimizer_response(raw)
|
|
|
|
| 258 |
|
| 259 |
new_heuristics = []
|
| 260 |
for h_data in result.get("heuristics", []):
|
|
|
|
| 357 |
)),
|
| 358 |
]
|
| 359 |
|
| 360 |
+
from purpose_agent.robust_parser import parse_optimizer_response
|
| 361 |
+
try:
|
| 362 |
+
result = self.llm.generate_structured(messages, schema=DISTILL_SCHEMA)
|
| 363 |
+
except Exception:
|
| 364 |
+
raw = self.llm.generate(messages, temperature=0.5, max_tokens=2000)
|
| 365 |
+
result = parse_optimizer_response(raw)
|
| 366 |
|
| 367 |
merged = []
|
| 368 |
for h_data in result.get("heuristics", []):
|