{"id":13708734,"url":"https://github.com/openbmb/ioa","last_synced_at":"2025-05-06T15:31:00.347Z","repository":{"id":247440747,"uuid":"825590133","full_name":"OpenBMB/IoA","owner":"OpenBMB","description":"An open-source framework for collaborative AI agents, enabling diverse, distributed agents to team up and tackle complex tasks through internet-like connectivity.","archived":false,"fork":false,"pushed_at":"2024-10-20T15:46:44.000Z","size":5063,"stargazers_count":586,"open_issues_count":7,"forks_count":50,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-11-13T19:38:51.303Z","etag":null,"topics":["agent","ai","genai","ioa","llm"],"latest_commit_sha":null,"homepage":"https://openbmb.github.io/IoA/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenBMB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-08T06:22:07.000Z","updated_at":"2024-11-13T11:40:16.000Z","dependencies_parsed_at":"2024-09-10T05:53:05.938Z","dependency_job_id":"2b94f6b4-4e19-4744-a65d-aee3e943af27","html_url":"https://github.com/OpenBMB/IoA","commit_stats":null,"previous_names":["openbmb/ioa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBMB%2FIoA","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBMB%2FIoA/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBMB%2FIoA/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenBMB%2FIoA/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenBMB","download_url":"https://codeload.github.com/OpenBMB/IoA/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252712845,"owners_count":21792380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","genai","ioa","llm"],"created_at":"2024-08-02T23:00:31.774Z","updated_at":"2025-05-06T15:30:59.680Z","avatar_url":"https://github.com/OpenBMB.png","language":"Python","funding_links":[],"categories":["A01_文本生成_文本对话","智能体 Agents","Agents"],"sub_categories":["大语言对话模型及数据"],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg alt=\"Internet of Agents\" src=\"https://github.com/OpenBMB/IoA/assets/32613237/04cbe3dc-84e1-4d70-ba5c-e8b07d3ee31d\"  style=\"width: 1em; height: 1em;\"\u003e Internet of Agents\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://discord.gg/E5XPtynFDh\"\u003e\n        \u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1259737237763919963?logo=discord\u0026style=flat\u0026logoColor=white\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/astral-sh/ruff\"\u003e\n        \u003cimg alt=\"Code Formater: Ruff\" src=\"https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/OpenBMB/IoA/LICENSE\"\u003e\n        \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/OpenBMB/IoA\"\u003e\n    \u003c/a\u003e\n    \u003c!-- \u003ca href=\"https://openbmb.github.io/IoA/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Doc-En-white.svg\" alt=\"EN doc\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://openbmb.github.io/IoA//doc_zh/index_zh.html\"\u003e\u003cimg src=\"https://img.shields.io/badge/Doc-中文-white.svg\" alt=\"ZH doc\"/\u003e\u003c/a\u003e --\u003e\n    \u003cbr\u003e\n    \u003cbr\u003e【\u003ca href=\"https://openbmb.github.io/IoA/\"\u003eDocumentation\u003c/a\u003e | \u003ca href = \"https://arxiv.org/abs/2407.07061\n    \"\u003ePaper\u003c/a\u003e】\u003cbr\u003e\n\u003c/p\u003e\n\n---\n\n## 🌎 What is Internet of Agents?\n\nImagine 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](https://github.com/Significant-Gravitas/AutoGPT) and [Open Interpreter](https://github.com/OpenInterpreter/open-interpreter) can come together, share their unique skills, and work on problems that might be too tricky for a single agent to solve.\n\n## 🚀 Key Features\n\n- 🌐 **Internet-Inspired Architecture**: Just like how the internet connects people, IoA can connect different AI agents across different environments.\n- 🤝 **Autonomous Nested Team Formation**: Agents can form teams and sub-teams on their own, adapting to complex tasks.\n- 🧩 **Heterogeneous Agent Integration**: Brings together agents with different skills and backgrounds, kind of like assembling an all-star team.\n- ⏳ **Asynchronous Task Execution**: Agents can multitask, making the whole system more efficient.\n- 🗣️ **Adaptive Conversation Flow**: The conversation flow is autonomously managed to keep agent conversations structured but flexible.\n- 🔄 **Scalable and Extensible**: Easy to add new types of agents or tackle different kinds of tasks.\n\nFor more details, please refer to [our paper](https://arxiv.org/abs/2407.07061).\n\n\u003cp align=\"center\" style=\"color:RGB(160, 160, 160)\"\u003e\n    \u003cimg src=\"https://github.com/OpenBMB/IoA/assets/32613237/126082a8-432b-4039-8acd-49f4798a492c\"\u003e\n    A peek at IoA's layered architecture\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"color:RGB(160, 160, 160)\"\u003e\n    \u003cimg src=\"https://github.com/OpenBMB/IoA/assets/32613237/6d081cd8-a935-4e34-a24d-62eb65f8c6ec\"\u003e\n    How IoA works\n\u003c/p\u003e\n\n---\n\n## 🚀 Quick Start\n\nGet IoA up and running in just a few steps:\n\n### 1. 📋 Prerequisites\n- Ensure you have [Docker](https://www.docker.com/) installed on your system.\n\n### 2. 📥 Clone the Repository\n```bash\ngit clone git@github.com:OpenBMB/IoA.git\ncd IoA\n```\n\n### 3. 🏗️ Build Docker Images\n\n#### Core Components\nYou can directly pull the pre-built docker images from docker hub\n```bash\n# Server\ndocker pull weize/ioa-server:latest\n\n# Client\ndocker pull weize/ioa-client:latest\n\n# Server Frontend\ndocker pull weize/ioa-server-frontend:latest\n\n# Rename the images\ndocker tag weize/ioa-server:latest ioa-server:latest\ndocker tag weize/ioa-client:latest ioa-client:latest\ndocker tag weize/ioa-server-frontend:latest ioa-server-frontend:latest\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eOr you can build from source\u003c/summary\u003e\n\n```bash\n# Server\ndocker build -f dockerfiles/server.Dockerfile -t ioa-server:latest .\n\n# Client\ndocker build -f dockerfiles/client.Dockerfile -t ioa-client:latest .\n\n# Server Frontend\ndocker build -f dockerfiles/server_frontend.Dockerfile -t ioa-server-frontend:latest .\n```\n\n\u003c/details\u003e\n\n\n#### Agent Images (Build as needed)\n\n```bash\n# ReAct Agent\ndocker pull weize/react-agent:latest\ndocker tag weize/react-agent:latest react-agent:latest\n\n# AutoGPT (we have fixed some bugs in AutoGPT's original docker image)\ndocker pull weize/autogpt:latest\ndocker tag weize/autogpt:latest autogpt:latest\n\n# Open Interpreter\ndocker pull weize/open-interpreter:latest\ndocker tag weize/open-interpreter:latest open-interpreter:latest\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eOr you can build from source\u003c/summary\u003e\n\n```bash\n# ReAct Agent\ndocker build -f dockerfiles/tool_agents/react.Dockerfile -t react-agent:latest .\n\n# AutoGPT (we have fixed some bugs in AutoGPT's original docker image)\ndocker build -f dockerfiles/tool_agents/autogpt.Dockerfile -t autogpt:latest .\n\n# Open Interpreter\ndocker build -f dockerfiles/tool_agents/open_interpreter.Dockerfile -t open-interpreter:latest .\n```\n\n\u003c/details\u003e\n\n\n### 4. 🌐 Launch Milvus Service\n```bash\ndocker network create agent_network\ndocker-compose -f dockerfiles/compose/milvus.yaml up\n```\n\n### 5. 🎬 Start IoA\n```bash\ncd dockerfiles/compose/\ncp .env_template .env\n```\n\nIn `.env`, fill in your OpenAI API key and other optional environment variables. Then for a quick demo with AutoGPT and Open Interpreter:\n```bash\ncd ../../\ndocker-compose -f dockerfiles/compose/open_instruction.yaml up\n```\n\nAnd you will set up your own small-scale Internet of Agents with AutoGPT and Open Interpreter!\n\n### 6. 🧪 Test It Out\nYou can use the following script to test IoA on our Open Instruction dataset.\n```bash\npython scripts/open_instruction/test_open_instruction.py\n```\n\nOr simply send a post request like:\n```python\nimport requests\n\ngoal = \"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.\"\n\nresponse = requests.post(\n    \"http://127.0.0.1:5050/launch_goal\",\n    json={\n        \"goal\": goal,\n        \"max_turns\": 20,\n        \"team_member_names\": [\"AutoGPT\", \"Open Interpreter\"],   # When it is left \"None\", the agent will decide whether to form a team autonomously\n    },\n)\n\nprint(response)\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e🤔 Want to run IoA across different devices?\u003c/summary\u003e\n\nCheck out our [distributed setup guide](https://openbmb.github.io/IoA/distributed_service/config.html). \nWe're continuously improving our documentation, so your feedback is valuable!\n\u003c/details\u003e\n\n---\n\n# 🌟 Join the IoA Adventure!\n\nWe're just getting started with IoA, and we'd love your help to make it even better! Got ideas for cool ways to use IoA, like connecting PC agents with mobile agents? We're all ears!\n\n- 👾 Chat with us on [Discord](https://discord.gg/E5XPtynFDh)\n- ✉️ Drop us a line at ioa.thunlp@gmail.com\n\nLet's build the future of AI collaboration together! 🚀\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmb%2Fioa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbmb%2Fioa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmb%2Fioa/lists"}