AI大模型如何連接外部世界:深入解析GPTs、Assistant API和Function Calling
怎么讓AI大模型連接外部世界,擴(kuò)展其需要的能力,也可以讓大模型和系統(tǒng)可以更好地集成,增強(qiáng)確定性?這篇文章里,作者就拆解了GPT連接外部世界的三種方式,不妨來看一下。
上文簡單介紹了RAG的基本原理,RAG可以通過擴(kuò)展大模型的知識庫,讓AI大模型變得更加“懂”我們。
今天我們來一起學(xué)習(xí)一下如何讓AI大模型連接外部世界。
一、為什么要讓大模型連接外部世界?
我們在上文中已經(jīng)列舉了大模型的局限性:沒有實(shí)時(shí)性、無法獲取私有知識等。
在此基礎(chǔ)上,我們可以把大模型的局限性細(xì)化成以下幾條:
- 大模型獲取不到實(shí)時(shí)信息,完全不清楚所謂的新聞熱點(diǎn),這一點(diǎn)很不像人類。
- 大模型掌握的知識是有限的,遇到不懂的問題,就會開始胡編亂造,令人頭痛。
- 大模型還沒掌握足夠的推理能力(至少目前還不夠),在處理較為復(fù)雜的問題時(shí),準(zhǔn)確性是存疑的,比如解決復(fù)雜的數(shù)學(xué)問題等。
- 大模型無法獲取企業(yè)的私有文檔(RAG可以一定程度上解決該問題)。
- 大模型無法獲取外部系統(tǒng)數(shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù),比如地圖相關(guān)信息、張三在某平臺的消費(fèi)記錄等。
我們會發(fā)現(xiàn),不管大模型再怎么訓(xùn)練,這些局限性依然會存在,并不會隨著大模型的繼續(xù)訓(xùn)練而解決。
把大模型當(dāng)人看的話,再聰明的人也不可能實(shí)時(shí)接收消化新知識、不可能拿到所有的私有數(shù)據(jù)、也就不可能獨(dú)自解決所有的問題,那么怎么才能讓大模型變得可靠又強(qiáng)大呢?
答案就是:找可靠的人一起協(xié)作,解決各種復(fù)雜問題。
大模型將復(fù)雜任務(wù)拆解成一個(gè)個(gè)子任務(wù),遇到搞不定的子任務(wù)(或者有更可靠的小伙伴)時(shí),就把問題拋給更專業(yè)的小伙伴,小伙伴把處理結(jié)果反饋給大模型,最終所有子任務(wù)都得到了更好的解決,大模型再根據(jù)子任務(wù)的處理結(jié)果,生成更加可靠的答案。
比如,大模型接收到一個(gè)任務(wù)“明天中午的天氣怎么樣?如果天氣好的話,想去國貿(mào)附近的麻六記吃飯,不知道人多不多”,首先把任務(wù)拆解為如下子任務(wù):
- 查詢明天中午的天氣。
- 需要查詢國貿(mào)的位置。
- 再查詢國貿(mào)附近麻六記的具體位置,確認(rèn)該飯店是否存在。
- 查詢麻六記的商家信息,方便打電話詢問或預(yù)約。
大模型看了看自己團(tuán)隊(duì)里的人(接口),開始分配任務(wù):
- 任務(wù)1交給天氣接口,得到詳細(xì)的天氣信息。
- 任務(wù)2交給地圖接口,得到國貿(mào)的位置。
- 再拿著任務(wù)2的結(jié)果繼續(xù)讓地圖接口完成任務(wù)3,找到國貿(mào)附近的麻六記。
- 最后再調(diào)用大眾點(diǎn)評接口完成任務(wù)4,查詢麻六記的商家信息。
一切搞定,交作業(yè):“明天中午是個(gè)大晴天,這么好的天氣當(dāng)然要出去耍啦。國貿(mào)附近的麻六記具體位置在xxxx,評分4.8分,一定非常美味,商家電話xxxx,您可以聯(lián)系商家預(yù)約位置。”
是不是靠譜多了?這個(gè)協(xié)作的模式其實(shí)就有些智能體Agent的意思了,我們下篇文章再細(xì)說Agent。
總之,連接外部世界后的大模型,可以擴(kuò)展各種需要的能力,比較靠譜的完成各種復(fù)雜任務(wù),也讓大模型和系統(tǒng)可以更好的集成,增強(qiáng)確定性。
接下來,我們來介紹一下GPT連接外部世界的三種方式。
二、GPTs:自定義版本的ChatGPT
GPTs是一個(gè)自定義版本的ChatGPT,允許用戶直接在界面上調(diào)整ChatGPT的功能以適應(yīng)特定任務(wù)或者指令。
除了基本的GPT配置之外,GPTs還提供了三種能力:
- 可以直接上傳私有知識庫文檔,自動實(shí)現(xiàn)RAG。
- 內(nèi)置了幾個(gè)通用能力(capability):允許網(wǎng)絡(luò)瀏覽(遇到不懂的問題會自動搜索之后再生成內(nèi)容)、允許使用DALL-E生成圖片(比如可以讓它根據(jù)輸入生成一張圖片)、代碼解釋器(可以使用python的大部分功能)。
- 通過配置Actions來執(zhí)行外部的動作,actions本質(zhì)上就是一些我們可以執(zhí)行的工具,類似于function calling,可以通過接口定義去調(diào)用其他應(yīng)用的能力,這就相當(dāng)于打通了GPT和其他應(yīng)用的橋梁,可以互相協(xié)作,只需要配置接口定義信息即可。
看起來,GPTs既強(qiáng)大又方便,但是它卻又很多的限制:
- 只有ChatGPT Plus用戶才能訪問。
- 界面不可定制,不能集成進(jìn)自己的產(chǎn)品。
- RAG功能,最多只能傳10個(gè)文件。
也就是說,GPTs相當(dāng)于自己用提示詞和Actions擴(kuò)展出一個(gè)定制功能的ChatGPT,但始終還是個(gè)ChatGPT。
GPTs雖然無法集成到自己的系統(tǒng)中,但比較適合作為功能演示的demo,和用戶解釋清楚系統(tǒng)的能力邊界。
三、Assistant API:將GPT集成到系統(tǒng)中的開發(fā)者接口
OpenAI的Assistant API是一個(gè)允許開發(fā)者在應(yīng)用中集成GPT功能的接口。
簡單來說,GPTs是界面化的操作,Assistant API則是針對開發(fā)者提供的接口。
目前,Asssistant API支持三種工具:文件RAG、代碼解釋器和Function Calling。
Asssistant API有如下特點(diǎn):
- 可以把GPT的功能集成到自己的系統(tǒng)中。
- 可以傳比GPTs更多的文件。
- 國內(nèi)無法訪問,只能服務(wù)國外用戶(國產(chǎn)大模型或開源大模型也會陸續(xù)開放自己的Assistant API)。
- 數(shù)據(jù)保密需求不高時(shí)才適合使用。
- 收費(fèi),不便宜。
如果想擴(kuò)展chatgpt的能力,讓它可以指揮其他的軟件去工作,那么就選擇GPTs。
如果想讓自己的軟件獲得ChatGPT的能力,得到AI加持,那么就適合Assistant API。
四、Function Calling機(jī)制:AI大模型連接外部世界的通道
Function Calling指的是在模型中集成外部功能或API的調(diào)用能力,可以看作是大模型連接外部世界的通道。
這意味著大模型可以在完成任務(wù)的過程中,調(diào)用外部函數(shù)或服務(wù),以獲取額外的數(shù)據(jù)或執(zhí)行特定的任務(wù)。
例如,大模型可以調(diào)用天氣API來獲取最新的天氣信息,或者調(diào)用翻譯服務(wù)來提供多語言支持。通過這種方式,大模型可以更加靈活地與外部系統(tǒng)進(jìn)行交互,實(shí)現(xiàn)更豐富的功能和更高的實(shí)用性。
Function Calling通常涉及到插件(Plugins)、OpenAI的Actions或各大模型平臺提供的工具集(tools)等技術(shù)的使用。這些工具和技術(shù)可以幫助開發(fā)者更方便地實(shí)現(xiàn)Function Calling,提高模型的擴(kuò)展性和可用性。
相比GPTs和Assistant API,F(xiàn)unction Calling的核心優(yōu)勢:
- 可以讓大模型與其它業(yè)務(wù)系統(tǒng)的集成更加靈活和方便。
- 可以針對業(yè)務(wù)需求做極致調(diào)優(yōu)。
Function Calling的限制:
- 目前只有部分大模型支持Function Calling,但一定會陸續(xù)開放,沒有Function Calling的大模型無法和其他系統(tǒng)連接,幾乎沒有可用性。
- 接口定義會消耗額外的token,費(fèi)錢。
- 即便使用了Function Calling,仍然要注意結(jié)果永遠(yuǎn)不是永遠(yuǎn)正確的,產(chǎn)品經(jīng)理需要建立在這個(gè)假設(shè)基礎(chǔ)上,去推敲功能的可行性。
- 需要評估Bad Case的影響范圍,并做好系統(tǒng)兼容和用戶預(yù)期管理。
Function Calling機(jī)制的重要意義
- 理論上來說,通過Function Calling,任何功能都可以和大模型結(jié)合,提供更好的用戶體驗(yàn)。
- Function Calling機(jī)制是AI Agent化的重要組成部分。
- Function Calling給大模型的應(yīng)用提供了無數(shù)的可能性,長期來看,落地過程中的各種幻覺問題一定會得到優(yōu)化和解決,路途只會越來越平坦,前方只會越來越光明。
五、總結(jié)
本文主要介紹了AI大模型連接外部世界的重大意義,下篇文章,我會介紹本文示例中提到的AI Agent(智能體),敬請期待。
本文由 @AI小當(dāng)家 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!