hcanges per rabbit feedback

modified:   app.py
	modified:   research/guarded_ai.py
This commit is contained in:
Russell Ballestrini 2024-07-29 06:33:42 -04:00
parent dd13bce82b
commit 9f3c5fb3a7
2 changed files with 12 additions and 13 deletions

19
app.py
View file

@ -110,19 +110,17 @@ class ActivityState(db.Model):
json_metadata = db.Column(db.UnicodeText, default="{}")
@property
def _json_metadata(self):
if self.json_metadata:
return json.loads(self.json_metadata)
return {}
def dict_metadata(self):
return json.loads(self.json_metadata) if self.json_metadata else {}
@_json_metadata.setter
def _json_metadata(self, value):
@dict_metadata.setter
def dict_metadata(self, value):
self.json_metadata = json.dumps(value)
def update_metadata(self, key, value):
metadata = self._json_metadata
metadata = self.dict_metadata
metadata[key] = value
self._json_metadata = metadata
self.dict_metadata = metadata
def get_room(room_name):
@ -1847,7 +1845,7 @@ def handle_activity_response(room_name, user_response, username):
# Check metadata conditions for the current step
if "metadata_conditions" in step["transitions"][category]:
conditions_met = all(
activity_state._json_metadata.get(key) == value
activity_state.dict_metadata.get(key) == value
for key, value in step["transitions"][category][
"metadata_conditions"
].items()
@ -1916,11 +1914,9 @@ def handle_activity_response(room_name, user_response, username):
# Update metadata based on user actions
if "metadata_updates" in step["transitions"][category]:
print(f"metadata_updates in step/category")
for key, value in step["transitions"][category][
"metadata_updates"
].items():
print(f"{key}: {value}")
activity_state.update_metadata(key, value)
# Commit the changes after the loop
@ -1928,7 +1924,6 @@ def handle_activity_response(room_name, user_response, username):
db.session.commit()
# Log the updated metadata
print(f"Updated metadata: {activity_state._json_metadata}")
# if "correct" or max_attempts reached.
if (

View file

@ -1,3 +1,4 @@
import argparse
import yaml
from openai import OpenAI
@ -200,5 +201,8 @@ def simulate_activity(yaml_file_path):
)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Simulate an activity.")
parser.add_argument("yaml_file_path", type=str, help="Path to the activity YAML file", default="activity0.yaml")
args = parser.parse_args()
simulate_activity(args.yaml_file_path)
# simulate_activity("activity13-choose-adventure.yaml")
simulate_activity("activity0.yaml")