XAgent

来自OmicsWiki
跳到导航 跳到搜索

介绍

XAgent是一个开源的基于大型语言模型(LLM)的自主智能体,可以自动解决各种任务。 它被设计为一个通用的智能体,可以应用于各种任务。目前,XAgent仍处于早期阶段,我们正在努力改进它。

我们的目标是创建一个可以解决任何给定任务的超级智能智能体!

XAgent

XAgent具有以下特点:

  • - 自主性:XAgent可以在没有人类参与的情况下自动解决各种任务。
  • - 安全性:XAgent被设计为安全运行。所有的行为都被限制在一个docker容器内。不用担心你的主机环境受到影响
  • - 可扩展性:XAgent被设计为可扩展的。您可以轻松地添加新的工具来增强智能体的能力,甚至是新的智能体!
  • - GUI:XAgent为用户提供了友好的GUI来与智能体交互。您也可以使用命令行界面与智能体交互。
  • - 与人类的合作:XAgent可以与您合作解决任务。它不仅有能力在行进中遵循您的指导来解决复杂的任务,而且在遇到挑战时还可以寻求您的帮助。

XAgent由三部分组成:

  • - 调度器 负责动态实例化和分派任务给不同的智能体。它允许我们添加新的智能体和改进智能体的能力。
  • - 规划器 负责为任务生成和校正计划。它将任务分解为子任务,并为它们生成里程碑,使智能体能够逐步解决任务。
  • - 行动者 负责采取行动实现目标和完成子任务。行动者利用各种工具来解决子任务,它也可以与人类合作来解决任务。

工具服务器

工具服务器是为XAgent提供强大和安全的工具来解决任务的服务器。它是一个docker容器,为XAgent提供一个安全的运行环境。

目前,工具服务器提供以下工具:

  • - 文件编辑器 提供一个文本编辑工具,可以写入、读取和修改文件。
  • - Python笔记本 提供一个交互式的Python笔记本,可以运行Python代码来验证想法、绘制图形等。
  • - 网页浏览器 提供一个网页浏览器,可以搜索和访问网页。
  • - Shell 提供一个bash shell工具,可以执行任何shell命令,甚至安装程序和托管服务。
  • - Rapid API 提供一个从Rapid API检索API并调用它们的工具,为XAgent提供了广泛的API。有关Rapid API集合的更多信息,请参见ToolBench。 您也可以轻松地向工具服务器添加新的工具,以增强XAgent的能力。

快速开始

构建和设置工具服务器

工具服务器是XAgent的行动发生的地方。它是一个docker容器,为XAgent提供一个安全的运行环境。 因此,您应该首先安装dockerdocker-compose。 然后,您需要构建工具服务器的镜像,参考以下任一方式构建:

从docker hub拉取镜像构建docker网络

docker compose up

从本地源代码构建镜像:

docker compose build
docker compose up

这将构建工具服务器的镜像并启动工具服务器的容器。如果您想在后台运行容器,请相应使用docker compose up -d。 参考ToolServer获取更多信息。

如果需要更新工具服务器或您想重新构建工具服务器的镜像,请使用以下命令:

docker compose pull

或者

docker compose build

配置并运行XAgent

在启动ToolServer后,您可以配置并运行XAgent。 - 安装依赖项:(需要Python版本 >= 3.10)

pip install -r requirements.txt
  • 配置XAgent 您需要使用config.yml配置XAgent才能运行。 请提供至少一个 OpenAI key,用于访问OpenAI API。 我们建议您配置使用gpt-4-32k来使用XAgent,gpt-4也可以用于大多数简单的任务。 并且,在任何情况下,至少需要提供一个gpt-3.5-turbo-16k API key作为备用模型。 我们不建议您使用gpt-3.5-turbo来运行XAgent,因为它的上下文长度非常有限,您不应该尝试在上面运行XAgent。
  • 运行XAgent
python run.py --task "put your task here" --config-file "assets/config.yml"

您可以使用参数--upload-files来指定提交给XAgent的文件。 您的XAgent的本地工作空间在local_workspace中,您可以在运行过程中找到XAgent生成的所有文件。 此外,在running_records中,您可以找到所有的中间步骤信息,例如任务状态、LLM的输入输出对、使用的工具等。 在运行结束后,ToolServerNode中的完整worksapce也将被打包下载到其中。

  • 使用GUI运行XAgent 容器XAgent-Server内包含一个监听5173端口的网页服务器,用于提供XAgent的GUI。 您可以在浏览器中打开http://localhost:5173来访问XAgent的GUI。 默认账号和密码是guestxagent