Skip to content

themtok/autogen-octotools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文版请参阅 README_zh.md

Autogen-Octotools: Agentic Framework Implementation

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

Overview

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.

Features

  • 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

Requirements

  • Python 3.8+
  • See reuirements.txt for dependencies

Installation

  1. Clone the repository:

    git clone <repo-url>
    cd otools-autogen
  2. Install dependencies:

    pip install -r reuirements.txt
  3. (Optional) Set up environment variables in a .env file for API keys and configuration. Values needed: OPENROUTER_API_KEY,OPENROUTER_BASE_PATH

Usage

Run the example usage script:

python example_usage.py

This will start the runtime, register all tools, and demonstrate a sample agent workflow.

Project Structure

  • otools_autogen/ - Core framework and runtime
  • tools/ - Built-in and custom tools
  • example_usage.py - Example script demonstrating usage
  • reuirements.txt - Python dependencies

Adding New Tools

  1. Create a new tool in the tools/ directory.
  2. Register the tool in your script using runtime.register_tool().

Disclaimer

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.

References

About

Implementation of the OctoTools agentic framework for complex reasoning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages