-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathrun_agentbench_server.py
More file actions
65 lines (52 loc) · 2.2 KB
/
run_agentbench_server.py
File metadata and controls
65 lines (52 loc) · 2.2 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
65
import os
import subprocess
import argparse
def run_agentbench_server():
# Change directory to the required path relative to the current script
current_dir = os.path.dirname(os.path.abspath(__file__))
agentbench_path = os.path.join(current_dir, "benchmarks", "AgentBench")
os.chdir(agentbench_path)
# Parse arguments to dynamically construct the command
parser = argparse.ArgumentParser(description="Run AgentBench server.")
parser.add_argument(
"--config",
type=str,
help="Config file to load",
default="configs/start_task.yaml",
)
parser.add_argument(
"--start",
"-s",
dest="start",
type=str,
nargs="*",
help="name num_worker name num_worker ...",
)
parser.add_argument("--controller", "-l", dest="controller_addr", default="")
parser.add_argument(
"--auto-controller", "-a", dest="controller", action="store_true"
)
parser.add_argument("--base-port", "-p", dest="port", type=int, default=5001)
parser.add_argument("--user-task", "-ut", type=str, dest="user_task", help="Example: explicit_control_flow_1, implicit_flow_5, explicit_data_flow_3. If injection-task option is not provided, the task will be run on benign environment.")
parser.add_argument("--injection-task", "-it", type=str, dest="injection_task", help="Example: prompt_injection_1, data_injection_2.")
args = parser.parse_args()
# Construct the command dynamically based on provided arguments
command = ["python", "-m", "src.start_task"]
if args.controller:
command.append("-a")
if args.config:
command.extend(["--config", args.config])
if args.port:
command.extend(["--base-port", str(args.port)])
if args.user_task:
command.extend(["--user-task", args.user_task])
if args.injection_task:
command.extend(["--injection-task", args.injection_task])
if args.start:
command.extend(["--start"] + args.start)
if args.controller_addr:
command.extend(["--controller", args.controller_addr])
# Run the server with the constructed command
subprocess.run(command)
if __name__ == "__main__":
run_agentbench_server()