XAgent
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
English •
中文 •
日本語
Tutorial •
Demo •
Blog •
Documentation •
Citation
📖 Introduction
XAgent is an open-source experimental Large Language Model (LLM) driven autonomous agent that can automatically solve various tasks.
It is designed to be a general-purpose agent that can be applied to a wide range of tasks. XAgent is still in its early stages, and we are working hard to improve it.
🏆 Our goal is to create a super-intelligent agent that can solve any given task!
We welcome diverse forms of collaborations, including full-time and part-time roles and more. If you are interested in the frontiers of agents and want to join us in realizing true autonomous agents, please contact us at xagentteam@gmail.com.
Overview of XAgent.
XAgent
XAgent is designed with the following features:
- **Autonomy**: XAgent can automatically solve various tasks without human participation.
- **Safety**: XAgent is designed to run safely. All actions are constrained inside a docker container. Run it anyway!
- **Extensibility**: XAgent is designed to be extensible. You can easily add new tools to enhance agent's abilities and even new agents!
- **GUI**: XAgent provides a friendly GUI for users to interact with the agent. You can also use the command line interface to interact with the agent.
- **Cooperation with Human**: XAgent can collaborate with you to tackle tasks. It not only has the capability to follow your guidance in solving complex tasks on the go but it can also seek your assistance when it encounters challenges.
XAgent is composed of three parts:
- **🤖 Dispatcher** is responsible for dynamically instantiating and dispatching tasks to different agents. It allows us to add new agents and improve the agents' abilities.
- **🧐 Planner** is responsible for generating and rectifying plans for tasks. It divides tasks into subtasks and generates milestones for them, allowing agents to solve tasks step by step.
- **🦾 Actor** is responsible for conducting actions to achieve goals and finish subtasks. The actor utilizes various tools to solve subtasks, and it can also collaborate with humans to solve tasks.
Workflow of XAgent.
🧰 ToolServer
ToolServer is the server that provides XAgent with powerful and safe tools to solve tasks. It is a docker container that provides a safe environment for XAgent to run.
Currently, ToolServer provides the following tools:
- **📝 File Editor** provides a text editing tool to write, read, and modify files.
- **📘 Python Notebook** provides an interactive Python notebook that can run Python code to validate ideas, draw figures, etc.
- **🌏 Web Browser** provides a web browser to search and visit webpages.
- **🖥️ Shell** provides a bash shell tool that can execute any shell commands, even install programs and host services.
- **🧩 Rapid API** provides a tool to retrieve APIs from Rapid API and call them, which offers a wide range of APIs for XAgent to use. See ToolBench to get more information about the Rapid API collections.
You can also easily add new tools to ToolServer to enhance XAgent's abilities.
✨ Quickstart
🛠️ Build and Setup ToolServer
ToolServer is where XAgent's action takes place. It is a docker container that provides a safe environment for XAgent to run.
So you should install docker and docker-compose first.
Then, you need to build the ToolServer image. Construct referring to any one of the following methods:
Pull the image from docker hub by running the following command:
Build an image from local sources by running the following command:
This will build the image for the ToolServer and start the ToolServer's container.
If you want to run the container in the background, please use docker compose up -d.