炸裂的 AutoGPT,魚(yú)皮教你免費(fèi)用!
大家好,我是魚(yú)皮,繼前段時(shí)間爆火的 ChatGPT 后,又一個(gè)炸裂的開(kāi)源項(xiàng)目 Auto-GPT
出現(xiàn)了。

僅在最近 10 天,這個(gè)項(xiàng)目就收獲了 8 萬(wàn)多個(gè) star,目前總 star 數(shù)超過(guò) 10 萬(wàn)!

那 Auto-GPT 到底是個(gè)什么玩意?它到底憑什么這么火?如何使用和部署它?它到底真的實(shí)用么?
帶著這些問(wèn)題來(lái)看這篇文章,下面我就給大家分享下 Auto-GPT 的介紹、最簡(jiǎn)單的部署方法、并且做一個(gè)簡(jiǎn)單的上手體驗(yàn)。
本文對(duì)應(yīng)視頻教程:

什么是 Auto-GPT?
Auto 即自動(dòng),Auto-GPT 就表示自動(dòng)的 GPT。
什么意思呢?
以前假如我們想使用 ChatGPT 來(lái)寫(xiě)一篇論文,可能要 人工 問(wèn)它好幾個(gè)問(wèn)題,比如:
問(wèn):我想寫(xiě)一篇關(guān)于 AI 的論文,我需要怎么做?
AI 答:確認(rèn)選題、寫(xiě)背景、寫(xiě)程序、寫(xiě)實(shí)驗(yàn)、寫(xiě)總結(jié)等。
問(wèn):幫我想 1 個(gè)選題
AI 答:AutoGPT
問(wèn):幫我介紹下 AutoGPT 的背景
。。。
你需要多次人工地向 AI 提問(wèn),直到你最后完成一篇論文。
但有了 AutoGPT,你只需要告訴它一個(gè)目標(biāo),比如 “寫(xiě)一篇關(guān)于 AI 的論文”,它就能夠用程序全自動(dòng)地完成目標(biāo)。
當(dāng)然,和人類一樣,它也不是一步到位的,而是先自動(dòng)向 AI 提問(wèn),然后根據(jù) AI 的回答再自動(dòng)提出新的問(wèn)題,如此循環(huán)往復(fù)直到達(dá)成你告訴它的目標(biāo)。
AutoGPT 本身也是結(jié)合了 LLM 大語(yǔ)言模型,相當(dāng)于讓 AI 來(lái)指揮 AI。
此外,AutoGPT 還有個(gè)很 ?? 的能力,當(dāng)它發(fā)現(xiàn) GPT 無(wú)法回答他的問(wèn)題時(shí),會(huì)主動(dòng)到網(wǎng)上搜索答案,這樣就彌補(bǔ)了 GPT 訓(xùn)練數(shù)據(jù)只到 21 年 9 月的不足。

聽(tīng)上去感覺(jué)很厲害,那接下來(lái)我們就來(lái)整一個(gè)自己的 Auto-GPT 吧~
搭一個(gè)自己的 Auto-GPT
網(wǎng)上很多教程都是讓大家在自己本地搭建 Auto-GPT,其實(shí)是不推薦的,不僅麻煩,而且可能存在環(huán)境、依賴不一致的情況。
個(gè)人認(rèn)為最簡(jiǎn)單的方式是使用 GitPod
云托管服務(wù),直接用別人提供的服務(wù)器來(lái)部署 Auto-GPT,用來(lái)學(xué)習(xí)再好不過(guò)了。
首先訪問(wèn)官方倉(cāng)庫(kù):https://github.com/Significant-Gravitas/Auto-GPT
然后點(diǎn)擊 Fork,復(fù)制倉(cāng)庫(kù)到自己的 GitHub 中:

這一步千萬(wàn)要注意!取消勾選 Copy the master branch only
!因?yàn)?master
分支的代碼可能是不穩(wěn)定的(我就翻過(guò)車)!

Fork 成功之后,我們進(jìn)入到自己的倉(cāng)庫(kù)中,然后把瀏覽器地址中的 github.com
改為 gitpod.io/#
。
比如我的是地址: https://github.com/liyupi/Auto-GPT
,改成 https://gitpod.io/#/liyupi/Auto-GPT
,然后訪問(wèn),現(xiàn)在就可以一鍵用 GitPod 來(lái)部署項(xiàng)目了!

然后我們就進(jìn)入到了 GitPod 項(xiàng)目主頁(yè),大家現(xiàn)在就可以把這個(gè)網(wǎng)頁(yè)當(dāng)做自己的電腦(服務(wù)器)來(lái)使用了,比如使用 VS Code 編輯器。
進(jìn)到這個(gè)頁(yè)面后,第一件事是切換分支,一定要選擇 origin/stable
分支!否則后面說(shuō)不定遇到什么奇奇怪怪的 Bug。
如下圖:

然后,我們?cè)谧髠?cè)目錄中找到 .env.template
文件,右鍵修改文件名為 .env
,并且修改 OPEN_API_KEY 為自己的。
因?yàn)?Auto-GPT 底層也是向 OpenAI 提問(wèn)的,所以必須要有 OpenAI 的 key。

修改完成后,在終端中輸入 ./run.sh
命令,就會(huì)自動(dòng)安裝所需環(huán)境和依賴,等著就好~
看到下圖中的消息,就表示安裝成功了!

然后我們按 ctrl + c
退出程序,以后不要用 run.sh
命令啟動(dòng)了,因?yàn)槊看味家獧z查依賴,我們可以直接用 python -m autogpt
命令來(lái)啟動(dòng) autogpt。
比如執(zhí)行 python -m autogpt --help
,查看 autogpt 的用法和參數(shù)說(shuō)明:

上圖中,有幾個(gè)參數(shù)是需要額外關(guān)注的,比如:
-c:是否開(kāi)啟連續(xù)模式。這是一個(gè)非常危險(xiǎn)的命令!表示 autogpt 會(huì)不經(jīng)過(guò)你的同意全自動(dòng)執(zhí)行,包括但不限于死循環(huán)、無(wú)限創(chuàng)建文件、占滿空間后刪除你電腦上的文件等等。就和人類一樣:可能會(huì)為了達(dá)到目的不擇手段!
-l:指定連續(xù)執(zhí)行的次數(shù)限制。可以防止死循環(huán)。
--speak:開(kāi)啟語(yǔ)音模式。但不是說(shuō)在瀏覽器內(nèi)部播放聲音,而是生成音頻文件。
OK,了解了這些后,我們來(lái)體驗(yàn)一下~
牛刀小試
就給一個(gè)很簡(jiǎn)單的任務(wù)吧,讓 autogpt 幫忙 “寫(xiě)一個(gè)網(wǎng)站,贊美一只雞在打籃球”。
首先執(zhí)行 python -m autogpt
命令,然后依次輸入 AI 名稱、AI 角色和目標(biāo):

然后 autogpt 就屁顛兒屁顛兒去工作了,我們可以看到他的想法、計(jì)劃和下面要做的行動(dòng)。比如他打算到網(wǎng)上搜索更多信息,使用 Google 搜索命令。

我們可以輸入 y
表示同意他這么做,也可以輸入任何內(nèi)容和建議來(lái)影響他的操作。
這里我就同意他吧~
然后呢,這貨竟然說(shuō)要看網(wǎng)上的視頻來(lái)學(xué)習(xí)!好家伙,AI 也要摸魚(yú)?

同意之后,他直接就下載視頻文件了,結(jié)果沒(méi)想到因?yàn)槲业姆?wù)器上沒(méi)有瀏覽器,他看不了視頻!只能再倒回去 Google 搜索。
那我們?cè)佥斎?y
表示同意:

結(jié)果你猜怎么著,他又想去看視頻!已經(jīng)陷入循環(huán)了。。。

所以可想而知,如果你讓 autogpt 全自動(dòng)跑一天,除了你的 OpenAI Key 余額被消耗完之外,說(shuō)不定沒(méi)有任何的成果。
所以人類必須要出手了,我讓它:不要再看視頻了,任何文本都行!

結(jié)果呢。。。它表示要去瀏覽其他的網(wǎng)頁(yè),不聽(tīng)話啊!

所以我態(tài)度只能再?gòu)?qiáng)硬一點(diǎn)!“停止調(diào)研,立刻給我開(kāi)發(fā)網(wǎng)站!”

這次他聽(tīng)話了,而且計(jì)劃執(zhí)行 write_to_file
命令生成了網(wǎng)站:

輸入 y
表示允許,然后他就幫我們?cè)诠ぷ骺臻g下生成了 index.html
文件:

網(wǎng)站生成完畢!讓我們本地打開(kāi)驗(yàn)證一下,看到了如下的文字 “雞不僅能用來(lái)吃,他們也會(huì)打籃球”。并且分享了一篇文章和一個(gè)視頻!

視頻來(lái)源于 youtube,點(diǎn)開(kāi)視頻,我笑瘋了:

雖然有點(diǎn)投雞取巧,但不管怎么樣,autogpt 也算是在短時(shí)間內(nèi)完成了一個(gè)網(wǎng)站吧,還是很不錯(cuò)的!
不過(guò)完成這個(gè)網(wǎng)站后,autogpt 并沒(méi)有挺值得意思,依然執(zhí)著地在 youtube 搜索雞打籃球相關(guān)的視頻。

所以朋友們,連續(xù)模式是真的危險(xiǎn),AI 如果脫離了人的控制,也是真的危險(xiǎn)?。?/p>
我的編程導(dǎo)航網(wǎng)站:https://www.code-nav.cn