AegisOpenEnv / baseline_inference.py
armaan020's picture
Upload folder using huggingface_hub
67256e5 verified
import os
from server import AegisGymEnv
from models import AuditAction
def main():
print("--- AegisGym Final Baseline Inference Simulation (Official API) ---")
env = AegisGymEnv()
obs = env.reset()
total_score = 0.0
episodes = 10
for i in range(episodes):
task_name = f"baseline_episode_{i+1}"
tier = env.state.current_tier
print(f"\nEpisode {i+1} | Tier: {tier.upper()}")
print(f"[START] task={task_name}", flush=True)
# Mocking an agent's decision based on the tier
if tier == "easy":
action = AuditAction(
action_type="FLAG",
target_id="ACC-BL-001",
regulation_citation="Sanctions List Match"
)
elif tier == "medium":
action = AuditAction(
action_type="FLAG",
target_id="ACC-SMURF-99",
regulation_citation="Structuring/Smurfing 9000-10000 range"
)
else:
action = AuditAction(
action_type="FLAG",
target_id="ACC-REG-VIOLATOR",
regulation_citation="EU-AI-Act-Art-57"
)
# step() returns an AuditObservation instance only
obs = env.step(action)
print(f"Action Taken: {action.action_type} for {action.target_id}", flush=True)
print(f"Reward: {obs.reward} | Done: {obs.done}", flush=True)
print(f"[STEP] step=1 reward={obs.reward}", flush=True)
print(f"[END] task={task_name} score={obs.reward} steps=1", flush=True)
total_score += obs.reward
if obs.done:
break
print(f"\n--- Reproducibility Report ---")
print(f"Total Episodes: {min(episodes, env.state.step_count)}")
print(f"Custom Agent Mean Score (Reward): {total_score / min(episodes, env.state.step_count)}")
if __name__ == "__main__":
main()