长亭百川云 - 文章详情

GitHub星标超16万,爆火AutoGPT进阶版来了:定制节点、多智能体协同

机器之心

37

2024-07-19

机器之心报道

机器之心编辑部

当然,下一代 AutoGPT 仍是开源的。

还记得去年 AI 大牛 Andrej Karpathy 大力宣传的「AutoGPT」项目吗?它是一个由 GPT-4 驱动的实验性开源应用程序,可以自主实现用户设定的任何目标,展现出了自主 AI 的发展趋势。

一年多的时间,该项目的 GitHub 星标总数已经超过了 16 万,足可见其持续受欢迎的程度。

GitHub 地址:https://github.com/Significant-Gravitas/AutoGPT

昨日,项目作者在社媒 X 上宣布了下一代「AutoGPT」的到来,目前是 Pre-alpha 版本。与前代相比,下一代「AutoGPT」让构建、运行和共享 AI 智能体变得比以往任何时候都更容易,同时可靠性也大大提升。

图源:https://x.com/SigGravitas/status/1812803289739633018

作者展示了如何使用下一代「AutoGPT」快速构建、部署并使用 Reddit 营销智能体,可以自动回复评论,执行其他复杂任务。新系统不再像初版「AutoGPT」那样不可靠和低效。

当被问到该项目是否可以构建多智能体驱动的应用程序时, 作者给出了肯定回答并表示这是构建该项目的重要原因。

现在,你可以设计一个图表,让多个专家智能体协同解决问题。SubGraphs 也即将发布,可以帮助简化复杂图表的处理。

该项目还可以自定义添加节点,并且手动编写新块(下文提到的关键特性)非常简单。作者发现,这方面 Claude 做得非常出色,可以完美地创建自定义块。

当然,该项目的两个主要组件(即下文提到的 Server 和 Builder)可以在不同的机器上运行。

不过,对于下一代「AutoGPT」,作者承认它仍处于非常早期的阶段,存在缺陷且比较基础,但还是希望从一开始就与大家分享并开源出来。

主要组件和关键特性

该项目具有以下两个主要组件,分别是后端的 AutoGPT Server 和前端的 AutoGPT Builder。其中 Server 负责创建复合多智能体系统,将 AutoGPT 智能体和其他非智能体组件用作其原语(primitive)。

设置和运行 Server 和 Builder 的具体步骤如下:

  • 导航到 AutoGPT GitHub 存储库;

  • 单击「代码」(Code)按钮,然后选择「下载 ZIP」;

  • 下载后,将 ZIP 文件解压到你选择的文件夹中;

  • 打开解压的文件夹并导航到「rnd」目录;

  • 进入「AutoGPT Server」文件夹;

  • 在「rnd」目录中打开一个终端窗口;

  • 找到并打开 AutoGPT Server 文件夹中的 README 文件;

  • 将 README 中的每个命令复制并粘贴到你的终端中(重要提示:等待每个命令完成后再运行下一个命令);

  • 如果所有命令运行均无错误,请输入最后一个命令「poetry run app」;

  • 在终端中看到服务器正在运行;

  • 导航回「rnd」文件夹;

  • 打开「AutoGPT builder」文件夹;

  • 打开此文件夹中的 README 文件;

  • 在终端中运行以下命令:

npm install
npm run dev
Once the front-end is running, click the link to navigate to localhost:3000.
  • 前端运行后,单击链接导航到「localhost:3000」;

  • 单击「构建」(Build)选项;

  • 添加几个块来测试功能;

  • 将块连接在一起;

  • 单击「运行」;

  • 检查你的终端窗口。此时应该看到服务器已收到请求、正在处理请求并已执行请求。

按照以上步骤,你就可以成功地设置并测试 AutoGPT。

视频来源:https://github.com/Significant-Gravitas/AutoGPT/tree/master/rnd/

除了两个主要组件外,下一代「AutoGPT」的关键特性是使用「块」(Blocks)来构建智能体。你可以将一些高度模块化的功能结合起来,创建自定义行为。

目前,项目已经为 Reddit 发帖、Discord 消息发送和维基百科摘要获取等操作提供了相应的块。同时在设计时追求易创建和使用。以下是维基百科摘要获取的块示例:

class GetWikipediaSummary(Block):
    class Input(BlockSchema):
        topic: str
    class Output(BlockSchema):
        summary: str
    def **init**(self):
        super().__init__(
            id="h5e7f8g9-1b2c-3d4e-5f6g-7h8i9j0k1l2m",
            input_schema=GetWikipediaSummary.Input,
            output_schema=GetWikipediaSummary.Output,
            test_input={"topic": "Artificial Intelligence"},
            test_output={"summary": "Artificial intelligence (AI) is intelligence demonstrated by machines..."},
        )
    def run(self, input_data: Input) -> BlockOutput:
        response = requests.get(f"https://en.wikipedia.org/api/rest_v1/page/summary/{input_data.topic}")
        summary_data = response.json()
        yield "summary", summary_data['extract']

作者表示,这仅仅是个开始,未来还将添加更多块,并改进 UI,大幅提升整体体验和功能。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2