diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa9454dfb..bf14b09df 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,5 +36,6 @@ jobs: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} OPENAI_ORGANIZATION: ${{ secrets.OPENAI_ORGANIZATION }} run: | - python benchmark.py --task tasksolving/mgsm/gpt-3.5 --dataset_path data/mgsm/test_sample.jsonl --overwrite --output_path ci_smoke_test_output + python setup.py develop + python agentverse_command/benchmark.py --task tasksolving/mgsm/gpt-3.5 --dataset_path data/mgsm/test_sample.jsonl --overwrite --output_path ci_smoke_test_output --tasks_dir ./agentverse/tasks python evaluate_math.py --path ci_smoke_test_output/results.jsonl --ci_smoke_test \ No newline at end of file diff --git a/agentverse_command/__init__.py b/agentverse_command/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/benchmark.py b/agentverse_command/benchmark.py similarity index 94% rename from benchmark.py rename to agentverse_command/benchmark.py index 01d2cb232..e9da7cf0a 100644 --- a/benchmark.py +++ b/agentverse_command/benchmark.py @@ -13,8 +13,11 @@ parser = ArgumentParser() parser.add_argument("--task", type=str, default="tasksolving/responsegen") -parser.add_argument("--tasks_dir", type=str, default=os.path.join( - os.path.dirname(__file__), "agentverse", "tasks")) +parser.add_argument( + "--tasks_dir", + type=str, + default=os.path.join(os.path.dirname(__file__), "..", "agentverse", "tasks"), +) parser.add_argument("--dataset_path", type=str, required=True) parser.add_argument("--output_path", type=str, default=None) parser.add_argument("--has_tools", action="store_true") @@ -32,7 +35,7 @@ def get_dataloader(task, dataset_path): return dataloader_registry.build(task, path=dataset_path) -if __name__ == "__main__": +def cli_main(): dataloader = get_dataloader(args.task, args.dataset_path) if args.output_path is None: os.makedirs(f"./results/{args.task}", exist_ok=True) @@ -78,3 +81,7 @@ def get_dataloader(task, dataset_path): ) f.flush() f.close() + + +if __name__ == "__main__": + cli_main() diff --git a/main_simulation_cli.py b/agentverse_command/main_simulation_cli.py similarity index 58% rename from main_simulation_cli.py rename to agentverse_command/main_simulation_cli.py index 48f56e567..af938e112 100644 --- a/main_simulation_cli.py +++ b/agentverse_command/main_simulation_cli.py @@ -7,12 +7,21 @@ parser = ArgumentParser() parser.add_argument("--task", type=str, default="simulation/prisoner_dilemma") -parser.add_argument("--tasks_dir", type=str, default=os.path.join( - os.path.dirname(__file__), "agentverse", "tasks")) +parser.add_argument( + "--tasks_dir", + type=str, + default=os.path.join(os.path.dirname(__file__), "..", "agentverse", "tasks"), +) parser.add_argument("--debug", action="store_true") args = parser.parse_args() logger.set_level(logging.DEBUG if args.debug else logging.INFO) -agentverse = Simulation.from_task(args.task, args.tasks_dir) -agentverse.run() + +def cli_main(): + agentverse = Simulation.from_task(args.task, args.tasks_dir) + agentverse.run() + + +if __name__ == "__main__": + cli_main() diff --git a/agentverse_command/main_simulation_gui.py b/agentverse_command/main_simulation_gui.py new file mode 100644 index 000000000..b91df38c0 --- /dev/null +++ b/agentverse_command/main_simulation_gui.py @@ -0,0 +1,21 @@ +import os +from agentverse.gui import GUI +from argparse import ArgumentParser + +parser = ArgumentParser() +parser.add_argument("--task", type=str, default="simulation/nlp_classroom_9players") +parser.add_argument( + "--tasks_dir", + type=str, + default=os.path.join(os.path.dirname(__file__), "..", "agentverse", "tasks"), +) +args = parser.parse_args() + + +def cli_main(): + ui = GUI(args.task, args.tasks_dir) + ui.launch() + + +if __name__ == "__main__": + cli_main() diff --git a/main_tasksolving_cli.py b/agentverse_command/main_tasksolving_cli.py similarity index 53% rename from main_tasksolving_cli.py rename to agentverse_command/main_tasksolving_cli.py index aea6d1433..2382adf90 100644 --- a/main_tasksolving_cli.py +++ b/agentverse_command/main_tasksolving_cli.py @@ -1,3 +1,4 @@ +import os import logging # from agentverse.agentverse import AgentVerse @@ -11,12 +12,23 @@ parser.add_argument( "--task", type=str, - default="tasksolving/pipeline_brainstorming", + default="tasksolving/brainstorming", ) parser.add_argument("--debug", action="store_true") +parser.add_argument( + "--tasks_dir", + type=str, + default=os.path.join(os.path.dirname(__file__), "..", "agentverse", "tasks"), +) args = parser.parse_args() logger.set_level(logging.DEBUG if args.debug else logging.INFO) -agentversepipeline = TaskSolving.from_task(args.task) -agentversepipeline.run() + +def cli_main(): + agentversepipeline = TaskSolving.from_task(args.task, args.tasks_dir) + agentversepipeline.run() + + +if __name__ == "__main__": + cli_main() diff --git a/main_simulation_gui.py b/main_simulation_gui.py deleted file mode 100644 index 576b980c5..000000000 --- a/main_simulation_gui.py +++ /dev/null @@ -1,12 +0,0 @@ -import os -from agentverse.gui import GUI -from argparse import ArgumentParser - -parser = ArgumentParser() -parser.add_argument("--task", type=str, default="simulation/nlp_classroom_9players") -parser.add_argument("--tasks_dir", type=str, default=os.path.join( - os.path.dirname(__file__), "agentverse", "tasks")) -args = parser.parse_args() - -ui = GUI(args.task, args.tasks_dir) -ui.launch() diff --git a/setup.py b/setup.py index f4e8f2128..4d6f5f474 100644 --- a/setup.py +++ b/setup.py @@ -2,8 +2,8 @@ from setuptools.command.develop import develop import subprocess -# with open("requirements.txt", "r") as f: -# requirements = f.read().splitlines() +with open("requirements.txt", "r") as f: + requirements = f.read().splitlines() with open("README.md", "r", encoding='utf8') as fh: long_description = fh.read() @@ -24,18 +24,27 @@ "Operating System :: OS Independent", ], python_requires=">=3.9", - install_requires=[ - "PyYAML", - "fastapi", - "uvicorn", - "py3langid", - "iso-639", - "openai", - "opencv-python", - "gradio", - "httpx[socks]", - "astunparse", - "langchain", - ], + # install_requires=[ + # "PyYAML", + # "fastapi", + # "uvicorn", + # "py3langid", + # "iso-639", + # "openai", + # "opencv-python", + # "gradio", + # "httpx[socks]", + # "astunparse", + # "langchain", + # ], + install_requires=requirements, include_package_data = True, + entry_points={ + "console_scripts": [ + "agentverse-benchmark = agentverse_command.benchmark:cli_main", + "agentverse-simulation = agentverse_command.main_simulation_cli:cli_main", + "agentverse-simulation-gui = agentverse_command.main_simulation_gui:cli_main", + "agentverse-tasksolving = agentverse_command.main_tasksolving_cli:cli_main", + ], + }, )