炸裂的 Auto-GPT,帮我自动生成小视频!

news2025/1/17 22:06:04

大家好,我是程序员贺同学。

继前段时间爆火的 ChatGPT  后,又一个炸裂的开源项目 Auto-GPT 出现了。

仿佛一夜之间,AI 圈又出现了一个新晋顶流。我们来看看它有多🔥。

0e9420b89d5d8e0bcf2650c3d61314a5.png

在 GitHub 上,仅最近不到两个礼拜,这个项目就收获了 2 万多个 Fork,目前总 star 数超过 11 万!

Auto-GPT 到底是个什么玩意?它背后的原理是什么?如何使用和部署它?它到底真的实用么?

带着这些问题来看这篇文章,下面我就给大家分享下 Auto-GPT 的介绍、最简单的部署方法、并且做一个简单的上手体验。

🌟什么是 Auto-GPT?

16a1be00e4d2c2a73765d4bc7af583c3.jpeg

Auto-GPT,顾名思义,自动的 GPT,是一个建立在 ChatGPT 的生成性预训练转化器(GPT)上的开源人工智能项目。其核心是,Auto-GPT 赋予 GPT 自主行动的能力。

用大白话来理解,是什么意思呢?

假设你想用 ChatGPT 来计划五一假期去哪玩。你会怎么做?

好吧,你去问 ChatGPT

输入 “帮我为推荐一下五一好玩的景点”。

“帮我整理一下不错的攻略” 

。。。

你需要多次人工地向 AI 提问,直到你最后完成清单和攻略。

但有了 AutoGPT,你只需要告诉它一个目标,比如 “计划五一假期旅游,帮我收集一下景点攻略”,它就能够用程序全自动地完成目标。

包括去自动联网查询景点排名,然后收集各个景点的攻略然后返回给你。

当然,和人类一样,它也不是一步到位的,而是先自动向 AI 提问,然后根据 AI 的回答再自动提出新的问题,如此循环往复直到达成你告诉它的目标。

因为 AutoGPT 本身,也是结合了 LLM 大语言模型,相当于让 AI 来指挥 AI。

Auto-GPT 与 ChatGPT 有何不同?

ChatGPT 和 Auto-GPT 之间有很多技术上的差异,但其中一个关键的差异是自主性。Auto-GPT 用 “人工智能代理”取代了 “人类代理” – 至少在其运作的很大一部分中,赋予了它一些貌似决策的权力。让我们给你一个更清晰的印象,我们的意思是什么。

此外,AutoGPT 还有个很 🐂 的能力,这里我们看官方的 Features ,第一条,当它发现 GPT 无法回答他的问题时,会自动联网去网上搜索答案,这样就弥补了之前 GPT 训练数据只限定某个时间段的短板。

b13d54f85d2472bbfa7adee3c27a8f79.png

🌟我们怎么玩 Auto-GPT?

这里个人推荐使用 GitPod 的云托管服务,直接用别人提供的服务器来部署 Auto-GPT,用来学习再好不过了。

避免本地搭建 Auto-GPT 可能存在环境、依赖不一致的情况。

首先访问官方仓库:https://github.com/Significant-Gravitas/Auto-GPT

然后点击 Fork,复制仓库到自己的 GitHub 中:

dc288258cc1c15294762bd6257a390fd.png

这一步要注意,建议取消勾选 Copy the master branch only !因为 master 分支的代码可能是不稳定的。

167e3856fdbadb38522f01f7498dae26.png

Fork 成功之后,我们进入到自己的仓库中,把浏览器地址中的 github.com 改为 gitpod.io/#

比如我的是地址:https://github.com/rongweihe/Auto-GPT ,改成 https://gitpod.io/#/rongweihe/Auto-GPT ,然后访问,现在就可以一键用 GitPod 来部署项目了

93c444e06484b9aef9855dbf33a09d62.jpeg

然后我们就进入到了 GitPod 项目主页,默认第一次会有一个提示,免费每个月 20 个额度,直接接受即可。

进去之后,就可以把这个网页当做自己的电脑(服务器)来使用了,比如使用 VS Code 编辑器来开发。

默认打开分支是 master,如果怕踩坑之类的,也可以选择切换 origin/stable 分支。

如下图:7e3a065ad6e09f514f8ef7eceeae79ad.jpeg

然后,我们在左侧目录中找到 .env.template 文件,右键修改文件名为 .env ,并且修改 OPEN_API_KEY 为自己的。

因为 Auto-GPT 底层也是向 OpenAI 提问的,所以必须要有 OpenAI 的 key。

修改完成后,在终端中输入 ./run.sh 命令,就会自动安装所需环境和依赖,等着就好~

看到下图中的消息,就表示安装成功了!

ec53dd06ae570a2a17593d89f8a798f9.jpeg

然后我们按 ctrl + c 退出程序,直接用 python -m autogpt 命令来启动 autogpt。

比如执行 python -m autogpt --help ,查看 autogpt 的用法和参数说明:

0227ce2d322ae897bcc3fc1a38e2bc86.png

上图中,有几个参数是需要额外关注的,比如:

  • -c:是否开启连续模式。这是一个非常危险的命令!表示 autogpt 会不经过你的同意全自动执行,包括但不限于死循环、无限创建文件、占满空间后删除你电脑上的文件等等。就和人类一样:可能会为了达到目的不择手段!

  • -l:指定连续执行的次数限制。可以防止死循环。

  • --speak:开启语音模式。但不是说在浏览器内部播放声音,而是生成音频文件。

OK,了解了这些后,我们来体验一下~

🌟牛刀小试

为了对话使用方便,我实战的时候,直接选择了 Auto-GPT 的中文版(官网地址:https://github.com/kaqijiang/Auto-GPT-ZH/ ),使用操作也是和上面的一样的。

先来一个很简单的任务吧,让 autogpt 帮忙 “写一个网站吧,里面包含两个有趣的表情包”。

首先执行 python -m autogpt 命令,然后依次输入 AI 名称、AI 角色和目标:

8d8e2a4c296dd95787e310a721512bf8.png

然后 autogpt 就乖乖滴去工作了,我们可以看到他的想法、计划和下面要做的行动。比如他打算到网上搜索更多信息,使用 Google 搜索命令。

我们可以输入 y 表示同意他这么做,也可以输入任何内容和建议来影响他的操作。

这里我就同意他吧~

然后呢,这货开始思考,并且认真的列起了计划!好家伙,看起来有模有样的

  • 创建一个 HTML 文件

  • 添加表情包

  • 生成 HTML 文件

  • 打开 HTML 文件

同意之后,它很快自动生成了 HTML,并且尝试使用 Chrome 浏览器来打开网页,但是我的服务器上面没有可用的 Chrome 浏览器,所以直接报错了。

报错了之后,又开始陷入了思考,,,开始思考哪里不对了?

cc2937b7191ef541dd1691297fb0b124.png

输入 y 表示允许,然后他就帮我们在工作空间下生成了 index.html 文件:

这个时候我去看它果然直接就生成了一个网站!并且把源码放在了仓库的某个目录下

5d787c9710046bad0b0bc24128505e0a.png

但是,打开之后,明显两个图片连接打不开啊,好家伙,这明显是在玩我呢?没有进一步校验图片的链接是否可用性

540ca674646638a19f163514b3828a78.jpeg

那我们人工干预,给它一波反馈。

21f6b7bd7b6b7b4d6c31e7a78eacad13.png

结果你猜怎么着,很听话的,又给我换了两个看起来可用的图片链接!

f0c3f847f8b00628513ae281b0c7e494.png

太乖了,哈哈,正当我兴致勃勃打开新的网站的时候,发现图片根本不存在呀!

c5ac37f14dbbde702e5f91de20f197d3.png

好家伙,这仿佛又是在调戏呢?不听话啊!这次我的态度只能强硬一些,我让他:直接让他生成一个网页,里面包含一个有趣的视频链接!

d7229b37ae8fdfc87ea36c5fd085c950.png

这次,我滴乖乖,生成的视频链接终于可以访问了,但是当我打开的时候,发现了惊喜。

2dcd5084df0e345cf08c7acf3da68195.png

AutoGPT 给了我一个视频链接,我打开之后,是上面这个样子,这是啥玩意?

一只头上长着两只大耳朵的,像兔子的熊,在草地上和蝴蝶玩起了游戏!也不知道它是怎么找到这个视频的,不过看起来还是挺有趣的。

虽然过程有点小曲折,但不管怎么样,AutoGPT 也算是在短时间内完成了一个网站吧,给它点赞。

这里因为方便展示,我使用的中文版,众所周知,中文的数据训练和效果和英文版的还是有差异的,建议大家实际使用的时候可以优先用英文版。可能效果会更好。

🌟思考

AutoGPT 背后的原理是什么?作为 AI 小白,我自己也花时间研究了一下,我发现最核心的是  AutoGPT  使用“套娃”的概念来递归地调用自己,这是一种让 AI 模型使用其他模型作为工具或媒介来完成任务的方法。

你只需给它定一个目标,剩下的会由自主智能体自己完成。它就像一个非常好的员工或队友。不过,如果你愿意,也可以自行设计自主智能体,使其在某些关键决策时刻与你联系,以便你可以即时协作指导它们工作。

「这是原始 AGI(primitive AGI)。值得注意的是,只需将一个 LLM 包装在一个循环中,就可以获得一个自主智能体,它可以自己推理、计划、思考、记忆和学习。如果包装和 prompts 正确,LLM 可以被激发出无尽的潜能和灵活性。虽然整个概念诞生还不到一个月时间,但我已迫不及待地想看看由 LLM 构建的复杂智能体将如何影响世界。」 ——Runway 创始人兼 CEO 陈思琪

搜索引擎的价值是把信息获取的边际成本降为 0。

ChatGPT 的价值是把知识获取的边际成本降为 0。

而 AutoGPT 的价值,可能是把知识整理的边际成本降为 0。

自主智能体如今可被进行非常开放式的诠释和创新。99% 的用例尚未创建或尝试,未来拥有无穷无尽的可能性,而机会就在你的手中!

本文参考:https://mp.weixin.qq.com/s/oeUIDS0mDPTteIwOH7IRaQ


推荐一个 ChatGPT AI 星球

未来已来,一起来迎接新时代

c0f415c2ccdb9a2c1668b7702bc9a0be.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/470571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP/IP基础知识

文章目录 互联网与TCP/IP的关系TCP/IP与OSI参考模型硬件(物理层)互联网层(网络层)IPICMPARP 传输层TCPUDP 应用层WWW电子邮件(E-Mail)文件传输(FTP)远程登录(TELNET与SSH&#xff09…

Redis Set 用了 2 种数据结构来存储,到现在才知道

Sets 无序集合,他的功能就好像你熟悉的 Java 中的 HashSet 一样。集合是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。 1. 是什么 Sets 是 String 类型的无序集合,集合中的元素是唯一的,集合中不会出现重复的数…

【百问百答】可靠性基础知识第三期

1.电连接器的基本性能有哪些? 三个基本性能:机械性能、电气性能和耐环境性能。 电连接器机械性能测试包括:插拔力测试、端子保持力测试、端子正向力测试、耐久性测试。 电气特性测试包括:绝缘电阻测试、 耐电压测试、 低电平电阻测试(LLCR…

【YOLO v1】模型搭建 | model | 代码

YOLO V1 模型 import torch import torch.nn as nn from torchsummary import summarydef build_block(in_channel, out_channel, kernel_size, stride1, maxpoolFalse):padding kernel_size//2block nn.Sequential(nn.Conv2d(in_channel, out_channel, kernel_sizekernel_si…

数据包守恒 TCP 拥塞控制

数据包守恒是包括拥塞控制在内的合理利用带宽的方法之基石,它维持了有效网络传输的稳定,过去 40 年是,未来还是。数据包守恒可以描述为: 当带宽恰好满载时,receiver 收到 1 个数据包后 sender 才能发送 1 个数据包。当…

LeetCode链表OJ题目 代码+思路分享

目录 删除有序数组中的重复项合并两个有序数组移除链表元素 删除有序数组中的重复项 链接: link 题目描述: 题目思路: 本题使用两个指针dst和src一前一后 相同情况: 如果nums[dst]nums[src],那么src 不相同情况: 此…

基于B/S架构SpringBoot+Bootstrap框架的中小医院信息系统

一、开源项目简介 基于B/S架构,SpringBootBootstrap框架的中小医院信息系统。简单实现了挂号收费,门诊管理,划价收费,药房取药,体检管理,药房管理,系统维护等基础功能。 二、功能概述 本系统是…

计算机网络学习04(应用层常见协议总结)

1、HTTP:超文本传输协议 超文本传输协议(HTTP,HyperText Transfer Protocol) 是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 …

电脑硬盘检测怎么操作?如何检查硬盘的健康情况?

案例:如何对电脑硬盘进行检测? 【我的电脑硬盘中有许多重要的数据,我想知道电脑硬盘的健康状况怎么样?有没有小伙伴知道电脑硬盘检测的方法?】 电脑硬盘是存储数据的关键组件,而随着时间的推移和使用频率…

JAVA IO 模型详解

什么是IO I/O(Input/Outpu) 即输入/输出 。 从计算机结构的视角来看的话, I/O 描述了计算机系统与外部设备之间通信的过程。 从应用程序的视角来看的话,我们的应用程序对操作系统的内核发起 IO 调用(系统调…

RocketMq windows 安装

RocketMq安装步骤: 1、直接在官网下载。也可以从这里自取 https://rocketmq.apache.org/download/ 2、修改bin目录下的文件 runserver.cmd 和 runbroker.cmd文件。主要修改所占用内存的大小。 runserver.cmd 修改如下: runbroker.cmd 修改如下&#xff…

数据结构与算法(三):树论(树形结构、二叉树、二叉搜索树、红黑树、BtreeB+Tree、赫夫曼树、堆树)

树论(树形结构、二叉树、二叉搜索树、红黑树、Btree、BTree、赫夫曼树、堆树) 树形结构概念 在树形结构里面重要的术语: 结点:树里面的元素。 父子关系:结点之间相连的边 子树:当结点大于1时&#xff0…

牛客网CM11 链表分割

CM11 链表分割 描述示例解题思路以及代码解法1解法2 描述 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 示例 解题…

JDBC详解(四):操作BLOB类型字段(超详解)

JDBC详解(四):操作BLOB类型字段 前言一、MySQL BLOB类型二、向数据表中插入大数据类型三、修改数据表中的Blob类型字段四、从数据表中读取大数据类型 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴…

倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析

倾斜摄影超大场景的三维模型轻量化与三维展示效果的关系浅析 倾斜摄影超大场景的三维模型由于数据量庞大,直接进行渲染可能会导致计算资源和时间的浪费。因此,针对倾斜摄影超大场景的三维模型区域进行轻量化处理是一种有效的优化手段。但是,轻…

macOS 13.4Beta 3(22F5049e)With OpenCore 0.9.2开发版 and winPE双引导分区原版镜像

镜像特点 完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区(如有需要,可以自行直接替换opencore分区文件为clover引导文件)备注…

Python3语法笔记(后篇)

文章目录 前言函数输入参数返回值装饰器(decorator)Lambda表达式(匿名函数)文档和注解 类类和实例特殊方法继承枚举类 错误和异常后记 前言 这篇文章主要用于记录Python3相关语法,方便自己查阅使用。 Python3语法笔记…

rsync之include、exclude使用

rsync之include、exclude使用 注意:exclude可单独使用,include必须和exclude配合使用 环境: 服务端: 在做同步之前必须要知道的含义: --exclude* 排除所有文件,包括目录,因为在linux一切皆…

自动拣货仓库亮灯方案

方案目标概叙: 系统在美团平台下单后,骑手会收到取货码,凭借取货码到指定的智能仓库去取货,仓库标签系统调取相应订单信息,执行亮灯指令(屏幕显示订单信息及拣货数量,并亮灯)&#…

window server dos命令集合

1、 删除任务管理器服务里的服务项,用管理员运行cmd, 再运行:sc delete ServiceName ServiceName从服务属性里查。