scam-detection-env / example.py
ANIL Chowdary
Initial commit: OpenEnv Scam Detection Environment for hackathon submission
b6ade9a
Raw History Blame Contribute Delete
2.16 kB
"""
Example script showing manual interaction with the environment (no LLM)
"""
from environment import ScamDetectionEnv
from tasks import get_all_tasks
def run_manual_example():
"""Run example with hardcoded actions"""
print("=== Manual Environment Example ===\n")
# Get all tasks
tasks = get_all_tasks()
for task in tasks:
print(f"\n{'='*60}")
print(f"Task: {task['name']} ({task['difficulty']})")
print(f"{'='*60}")
print(f"\nContent:\n{task['content']}\n")
# Create environment
env = ScamDetectionEnv(task)
# Reset
obs = env.reset()
print(f"Step 1 - {obs.message}")
# Step 1: Classify
action1 = f"classify('{task['expected_classification']}')"
print(f"Action: {action1}")
obs, reward, done, info = env.step(action1)
print(f"Reward: {reward:.2f}\n")
# Step 2: Decide
print(f"Step 2 - {obs.message}")
action2 = f"decide('{task['expected_decision']}')"
print(f"Action: {action2}")
obs, reward, done, info = env.step(action2)
print(f"Reward: {reward:.2f}\n")
# Step 3: Reason
print(f"Step 3 - {obs.message}")
reasoning = f"This appears to be a {task['expected_classification']} with indicators including {', '.join(task['expected_reasoning_keywords'][:3])}"
action3 = f"reason('{reasoning}')"
print(f"Action: {action3}")
obs, reward, done, info = env.step(action3)
print(f"Reward: {reward:.2f}\n")
# Show final grade
if 'final_grade' in info:
grade = info['final_grade']
print(f"{'='*60}")
print("FINAL GRADE")
print(f"{'='*60}")
print(f"Total Score: {grade['total']:.2f}")
print(f" - Classification: {grade['classification']:.2f} (weight: {grade['classification_weight']})")
print(f" - Decision: {grade['decision']:.2f} (weight: {grade['decision_weight']})")
print(f" - Reasoning: {grade['reasoning']:.2f} (weight: {grade['reasoning_weight']})")
if __name__ == "__main__":
run_manual_example()