中文版请参阅 README_zh.md
This project is an implementation of the agentic framework described in the paper:
OctoTools: An Agentic Framework with Extensible Tools for Complex Reasoning
Pan Lu, Bowen Chen, Sheng Liu, Rahul Thapa, Joseph Boen, James Zou (2025)
Original implemetation: GitHub Repo octotools
This repository provides a modular, extensible agentic framework for complex reasoning, inspired by the OctoTools paper. The implementation is built on top of the Microsoft AutoGen framework, leveraging its robust agent orchestration and tool integration capabilities.
OctoTools introduces standardized tool cards, a planner for high- and low-level planning, and an executor for tool usage. The framework is designed to be training-free, user-friendly, and easily extensible, supporting a wide range of reasoning tasks across domains.
- Built on Microsoft AutoGen
- Modular runtime for agent orchestration
- Standardized tool interface for easy extension
- Built-in tools: Wikipedia search, web search, news API, content extraction, generalist, API caller, critic
- High-level and low-level planning
- Multi-step reasoning and tool chaining
- Async support for scalable workflows
- Python 3.8+
- See
reuirements.txt
for dependencies
-
Clone the repository:
git clone <repo-url> cd otools-autogen
-
Install dependencies:
pip install -r reuirements.txt
-
(Optional) Set up environment variables in a
.env
file for API keys and configuration. Values needed: OPENROUTER_API_KEY,OPENROUTER_BASE_PATH
Run the example usage script:
python example_usage.py
This will start the runtime, register all tools, and demonstrate a sample agent workflow.
otools_autogen/
- Core framework and runtimetools/
- Built-in and custom toolsexample_usage.py
- Example script demonstrating usagereuirements.txt
- Python dependencies
- Create a new tool in the
tools/
directory. - Register the tool in your script using
runtime.register_tool()
.
Many parts of implementations (like prompts) were inspired by original Octotools implemenation - octotools
Project does not implement Task-specific Toolset Optimization descibed in original paper- tools are selcted autonomously by planner agent from complete polulation of tools.
- Paper: OctoTools: An Agentic Framework with Extensible Tools for Complex Reasoning
- Microsoft AutoGen: https://microsoft.github.io/autogen/stable/
- License: MIT