guarded_ai.py can also play rock-paper-scissors.yaml
This commit is contained in:
parent
0d908b65d4
commit
4f7caffe17
1 changed files with 31 additions and 0 deletions
|
|
@ -191,11 +191,22 @@ def simulate_activity(yaml_file_path):
|
|||
print(f"Current Metadata: {json.dumps(metadata, indent=2)}")
|
||||
continue
|
||||
|
||||
# Print transition content blocks if they exist
|
||||
if "content_blocks" in transition:
|
||||
transition_content = "\n\n".join(transition["content_blocks"])
|
||||
translated_transition_content = translate_text(
|
||||
transition_content, user_language
|
||||
)
|
||||
print(translated_transition_content)
|
||||
|
||||
feedback = provide_feedback(
|
||||
transition, category, question, user_response, user_language, step["tokens_for_ai"]
|
||||
)
|
||||
print(f"\nFeedback: {feedback}")
|
||||
|
||||
# Track temporary metadata keys
|
||||
metadata_tmp_keys = []
|
||||
|
||||
# Update metadata based on user actions
|
||||
if "metadata_add" in transition:
|
||||
for key, value in transition["metadata_add"].items():
|
||||
|
|
@ -203,6 +214,13 @@ def simulate_activity(yaml_file_path):
|
|||
value = user_response
|
||||
metadata[key] = value
|
||||
|
||||
if "metadata_tmp_add" in transition:
|
||||
for key, value in transition["metadata_tmp_add"].items():
|
||||
if value == "the-users-response":
|
||||
value = user_response
|
||||
metadata[key] = value
|
||||
metadata_tmp_keys.append(key) # Track temporary keys
|
||||
|
||||
if "metadata_remove" in transition:
|
||||
for key in transition["metadata_remove"]:
|
||||
if key in metadata:
|
||||
|
|
@ -216,6 +234,14 @@ def simulate_activity(yaml_file_path):
|
|||
random_value = transition["metadata_random"][random_key]
|
||||
metadata[random_key] = random_value
|
||||
|
||||
if "metadata_tmp_random" in transition:
|
||||
random_key = random.choice(
|
||||
list(transition["metadata_tmp_random"].keys())
|
||||
)
|
||||
random_value = transition["metadata_tmp_random"][random_key]
|
||||
metadata[random_key] = random_value
|
||||
metadata_tmp_keys.append(random_key) # Track temporary keys
|
||||
|
||||
print(f"\nMetadata: {json.dumps(metadata, indent=2)}")
|
||||
|
||||
if category not in [
|
||||
|
|
@ -233,6 +259,11 @@ def simulate_activity(yaml_file_path):
|
|||
if attempts == max_attempts:
|
||||
print("\nMaximum attempts reached. Moving to the next step.")
|
||||
|
||||
# Remove temporary metadata at the end of the step
|
||||
for key in metadata_tmp_keys:
|
||||
if key in metadata:
|
||||
del metadata[key]
|
||||
|
||||
# Access next_section_and_step directly from the transition
|
||||
next_section_and_step = transition.get("next_section_and_step", None)
|
||||
if next_section_and_step:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue