What is Internet of Agents?
Imagine if AI agents could collaborate like humans do on the internet. That’s the idea behind Internet of Agents (IoA)! It’s an open-source framework that aims to create a platform where diverse AI agents can team up to tackle complex tasks. For example, agents like AutoGPT and Open Interpreter can come together, share their unique skills, and work on problems that might be too tricky for a single agent to solve.
Key Features
- Internet-Inspired Architecture: Just like how the internet connects people, IoA can connect different AI agents across various environments.
- Autonomous Nested Team Formation: Agents can form teams and sub-teams independently, adapting to complex tasks.
- Heterogeneous Agent Integration: Brings together agents with different skills and backgrounds, similar to assembling an all-star team.
- ⏳ Asynchronous Task Execution: Agents can multitask, making the whole system more efficient.
- Adaptive Conversation Flow: The conversation flow is autonomously managed to keep agent conversations structured but flexible.
- Scalable and Extensible: Easy to add new types of agents or tackle different kinds of tasks.
For more details, please refer to our paper.
Quick Start
Get IoA up and running in just a few steps:
1. Prerequisites
Ensure you have Docker installed on your system.
2. Clone the Repository
bash
git clone git@github.com:OpenBMB/IoA.git
cd IoA
3. Build Docker Images
Core Components
You can directly pull the pre-built docker images from Docker Hub:
bash
# Server
docker pull weize/ioa-server:latest
# Client
docker pull weize/ioa-client:latest
# Server Frontend
docker pull weize/ioa-server-frontend:latest
# Rename the images
docker tag weize/ioa-server:latest ioa-server:latest
docker tag weize/ioa-client:latest ioa-client:latest
docker tag weize/ioa-server-frontend:latest ioa-server-frontend:latest
Or you can build from source:
bash
# Server
docker build -f dockerfiles/server.Dockerfile -t ioa-server:latest .
# Client
docker build -f dockerfiles/client.Dockerfile -t ioa-client:latest .
# Server Frontend
docker build -f dockerfiles/server_frontend.Dockerfile -t ioa-server-frontend:latest .
Agent Images (Build as needed)
bash
# ReAct Agent
docker pull weize/react-agent:latest
docker tag weize/react-agent:latest react-agent:latest
# AutoGPT (we have fixed some bugs in AutoGPT's original docker image)
docker pull weize/autogpt:latest
docker tag weize/autogpt:latest autogpt:latest
# Open Interpreter
docker pull weize/open-interpreter:latest
docker tag weize/open-interpreter:latest open-interpreter:latest
Or you can build from source:
bash
# ReAct Agent
docker build -f dockerfiles/tool_agents/react.Dockerfile -t react-agent:latest .
# AutoGPT (we have fixed some bugs in AutoGPT's original docker image)
docker build -f dockerfiles/tool_agents/autogpt.Dockerfile -t autogpt:latest .
# Open Interpreter
docker build -f dockerfiles/tool_agents/open_interpreter.Dockerfile -t open-interpreter:latest .
4. Launch Milvus Service
bash
docker network create agent_network
docker-compose -f dockerfiles/compose/milvus.yaml up
5. Start IoA
bash
cd dockerfiles/compose
cp .env_template .env
# In .env, fill in your OpenAI API key and other optional environment variables.
# Then for a quick demo with AutoGPT and Open Interpreter:
cd ....
docker-compose -f dockerfiles/compose/open_instruction.yaml up
And you will set up your own small-scale Internet of Agents with AutoGPT and Open Interpreter!
6. Test It Out
You can use the following script to test IoA on our Open Instruction dataset:
bash
python scripts/open_instruction/test_open_instruction.py
Or simply send a POST request like:
python
import requests
goal = "I want to know the annual revenue of Microsoft from 2014 to 2020. Please generate a figure in text format showing the trend of the annual revenue, and give me an analysis report."
response = requests.post(
"http://127.0.0.1:5050/launch_goal",
json={
"goal": goal,
"max_turns": 20,
"team_member_names": ["AutoGPT", "Open Interpreter"], # When it is left None, the agent will decide whether to form a team autonomously
},
)
print(response)
Want to run IoA across different devices?
Check out our distributed setup guide. We’re continuously improving our documentation, so your feedback is valuable!
Troubleshooting
If you encounter issues during the setup or while running the Internet of Agents, consider the following troubleshooting tips:
- Ensure you have Docker installed and running properly.
- Check if all the Docker images have been correctly pulled or built.
- Confirm that your API keys and environment variables are properly set.
- If the system crashes, restart Docker or your machine.
- If an agent fails to respond, check the logs for errors.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Final Thoughts
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

