-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoption_evaluator.py
More file actions
26 lines (21 loc) · 825 Bytes
/
option_evaluator.py
File metadata and controls
26 lines (21 loc) · 825 Bytes
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
# option_evaluator.py
import json
class OptionEvaluator:
def __init__(self, safety_enforcer):
self.safety_enforcer = safety_enforcer
def evaluate(self, llm_response):
try:
response_json = json.loads(llm_response)
app_params = response_json.get('app_params', {})
system_params = response_json.get('system_params', {})
# Check if parameters are safe
if not self.safety_enforcer.is_safe(app_params, system_params):
print("Suggested parameters are not safe.")
return None
return {
'app_params': app_params,
'system_params': system_params
}
except json.JSONDecodeError:
print("Failed to parse LLM response.")
return None