forked from SaiNivedh26/graphstrike
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathopenenv.yaml
More file actions
64 lines (57 loc) · 2.42 KB
/
openenv.yaml
File metadata and controls
64 lines (57 loc) · 2.42 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
name: graphstrike
version: "1.0.0"
description: >
RL environment for detecting coordinated fake Instagram account gangs.
An AI detective agent must identify all 10 members of a coordinated fake
account gang before they evade detection. Three difficulty levels with
increasing network size, decoys, and real-time evasion events.
author: OpenENV Hackathon
tags:
- social-network
- fraud-detection
- graph
- rl
- fake-account-detection
# ── Server configuration ──────────────────────────────────────────────────────
server:
# Root Dockerfile: environment server only (no training loop, no AWS needed).
# For full local training (Qwen3 + Reflexion + Hybrid Policy): server/Dockerfile
dockerfile: Dockerfile
port: 7860
environment_variables:
PORT: "7860"
HOST: "0.0.0.0"
WORKERS: "1"
# The environment server and /baseline endpoint work without them.
# ── Task definitions ──────────────────────────────────────────────────────────
tasks:
- name: easy
description: "50 accounts, 10 fakes, no evasion, 30 steps"
win_recall: 0.8
win_precision: 0.7
max_steps: 30
- name: medium
description: "200 accounts, 10 fakes + 20 decoys, 1 evasion event, 50 steps"
win_recall: 0.8
win_precision: 0.7
max_steps: 50
- name: hard
description: "1000 accounts, 10 fakes + 50 decoys, 4 evasion events, 80 steps"
win_recall: 0.9
win_precision: 0.8
max_steps: 80
# ── Action schema ─────────────────────────────────────────────────────────────
action_schema:
action_type:
type: string
enum: [inspect, investigate_network, flag, unflag, submit]
account_id:
type: string
description: "Required for all actions except submit"
# ── Score range ───────────────────────────────────────────────────────────────
score_range: [0.0, 1.0]
grader_formula: >
if recall >= 0.8 and precision >= 0.7:
score = 0.55 + 0.20*recall + 0.15*precision + 0.10*efficiency
else:
score = 0.30*recall + 0.10*precision