AnyTool/README.md
2024-02-28 09:05:11 +00:00

2 KiB

AnyTool

Static Badge

This is the implementation of the paper AnyTool: Self-Reflective, Hierarchical Agents for Large-Scale API Calls Figure

🔧 Installation

Dependencies

Require Python 3.9+

🚀 Quick install

pip install -r requirements.txt

OpenAI GPT API config

Fill your and toolbench key into the config.py (see config_example.py).

🔆 Data Preparation

ToolBench

Refer to ToolBench.

Prepare the API data

You should prepare the ToolBench data first. Make sure you have the directory of data/toolenv/tools

python scripts/extract_api_details.py
python scripts/extract_category_tool_details.py
python scripts/extract_tool_database.py

AnyToolBench

Generation script

python scripts/data_generation_by_gpt4.py

We provide sample data in anytoolbench.json file.

🚗 Run AnyTool

Fill your OpenAI GPT API config and toolbench key into the config.py (see config_example.py).

Experiment on ToolBench

python anytool.py --output_dir result/test_instruction/G1_instruction --query_path data/test_instruction/G1_instruction.json --max_api_number 64

Experiment on AnyToolBench

python anytool.py --output_dir result/anytoolbench --query_path anytoolbench.json -max_api_number 64

👨‍🏫 Acknowledgement

This repo is built on ToolBench.

📑Citation

If you find this project is helpful for your research, consider citing our paper

@article{du2024anytool,
  title={AnyTool: Self-Reflective, Hierarchical Agents for Large-Scale API Calls},
  author={Du, Yu and Wei, Fangyun and Zhang, Hongyang},
  journal={arXiv preprint arXiv:2402.04253},
  year={2024}
}