-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
54 lines (39 loc) · 1.25 KB
/
Copy pathmain.py
File metadata and controls
54 lines (39 loc) · 1.25 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
from __future__ import annotations
import argparse
import sys
from graph.runner import run_task
from utils.logger import get_logger
logger = get_logger()
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Supervisor multi-agent team")
parser.add_argument("task", nargs="*", help="Question or task for the team")
parser.add_argument("--quiet", action="store_true", help="Hide node progress logs")
return parser.parse_args()
def ask_once(task: str) -> None:
result = run_task(task)
print("\n=== Final answer ===\n")
print(result.get("final_answer") or "No answer was produced.")
def interactive() -> None:
print("Multi-agent team ready. Type a task, or 'exit' to quit.\n")
while True:
try:
task = input("You> ").strip()
except (EOFError, KeyboardInterrupt):
print()
return
if not task or task.lower() in {"exit", "quit"}:
return
ask_once(task)
print()
def main() -> int:
args = parse_args()
if args.quiet:
logger.setLevel(40)
task = " ".join(args.task).strip()
if task:
ask_once(task)
return 0
interactive()
return 0
if __name__ == "__main__":
sys.exit(main())