AI大模型如何連接外部世界:深入解析GPTs、Assistant API和Function Calling

0 評論 3867 瀏覽 17 收藏 11 分鐘

怎么讓AI大模型連接外部世界,擴展其需要的能力,也可以讓大模型和系統可以更好地集成,增強確定性?這篇文章里,作者就拆解了GPT連接外部世界的三種方式,不妨來看一下。

上文簡單介紹了RAG的基本原理,RAG可以通過擴展大模型的知識庫,讓AI大模型變得更加“懂”我們。

今天我們來一起學習一下如何讓AI大模型連接外部世界。

一、為什么要讓大模型連接外部世界?

我們在上文中已經列舉了大模型的局限性:沒有實時性、無法獲取私有知識等。

在此基礎上,我們可以把大模型的局限性細化成以下幾條:

  • 大模型獲取不到實時信息,完全不清楚所謂的新聞熱點,這一點很不像人類。
  • 大模型掌握的知識是有限的,遇到不懂的問題,就會開始胡編亂造,令人頭痛。
  • 大模型還沒掌握足夠的推理能力(至少目前還不夠),在處理較為復雜的問題時,準確性是存疑的,比如解決復雜的數學問題等。
  • 大模型無法獲取企業的私有文檔(RAG可以一定程度上解決該問題)。
  • 大模型無法獲取外部系統數據庫中的業務數據,比如地圖相關信息、張三在某平臺的消費記錄等。

我們會發現,不管大模型再怎么訓練,這些局限性依然會存在,并不會隨著大模型的繼續訓練而解決。

把大模型當人看的話,再聰明的人也不可能實時接收消化新知識、不可能拿到所有的私有數據、也就不可能獨自解決所有的問題,那么怎么才能讓大模型變得可靠又強大呢?

答案就是:找可靠的人一起協作,解決各種復雜問題。

大模型將復雜任務拆解成一個個子任務,遇到搞不定的子任務(或者有更可靠的小伙伴)時,就把問題拋給更專業的小伙伴,小伙伴把處理結果反饋給大模型,最終所有子任務都得到了更好的解決,大模型再根據子任務的處理結果,生成更加可靠的答案。

比如,大模型接收到一個任務“明天中午的天氣怎么樣?如果天氣好的話,想去國貿附近的麻六記吃飯,不知道人多不多”,首先把任務拆解為如下子任務:

  1. 查詢明天中午的天氣。
  2. 需要查詢國貿的位置。
  3. 再查詢國貿附近麻六記的具體位置,確認該飯店是否存在。
  4. 查詢麻六記的商家信息,方便打電話詢問或預約。

大模型看了看自己團隊里的人(接口),開始分配任務:

  1. 任務1交給天氣接口,得到詳細的天氣信息。
  2. 任務2交給地圖接口,得到國貿的位置。
  3. 再拿著任務2的結果繼續讓地圖接口完成任務3,找到國貿附近的麻六記。
  4. 最后再調用大眾點評接口完成任務4,查詢麻六記的商家信息。

一切搞定,交作業:“明天中午是個大晴天,這么好的天氣當然要出去耍啦。國貿附近的麻六記具體位置在xxxx,評分4.8分,一定非常美味,商家電話xxxx,您可以聯系商家預約位置。

是不是靠譜多了?這個協作的模式其實就有些智能體Agent的意思了,我們下篇文章再細說Agent。

總之,連接外部世界后的大模型,可以擴展各種需要的能力,比較靠譜的完成各種復雜任務,也讓大模型和系統可以更好的集成,增強確定性。

接下來,我們來介紹一下GPT連接外部世界的三種方式。

二、GPTs:自定義版本的ChatGPT

GPTs是一個自定義版本的ChatGPT,允許用戶直接在界面上調整ChatGPT的功能以適應特定任務或者指令。

除了基本的GPT配置之外,GPTs還提供了三種能力:

  1. 可以直接上傳私有知識庫文檔,自動實現RAG。
  2. 內置了幾個通用能力(capability):允許網絡瀏覽(遇到不懂的問題會自動搜索之后再生成內容)、允許使用DALL-E生成圖片(比如可以讓它根據輸入生成一張圖片)、代碼解釋器(可以使用python的大部分功能)。
  3. 通過配置Actions來執行外部的動作,actions本質上就是一些我們可以執行的工具,類似于function calling,可以通過接口定義去調用其他應用的能力,這就相當于打通了GPT和其他應用的橋梁,可以互相協作,只需要配置接口定義信息即可。

看起來,GPTs既強大又方便,但是它卻又很多的限制:

  • 只有ChatGPT Plus用戶才能訪問。
  • 界面不可定制,不能集成進自己的產品。
  • RAG功能,最多只能傳10個文件。

也就是說,GPTs相當于自己用提示詞和Actions擴展出一個定制功能的ChatGPT,但始終還是個ChatGPT。

GPTs雖然無法集成到自己的系統中,但比較適合作為功能演示的demo,和用戶解釋清楚系統的能力邊界。

三、Assistant API:將GPT集成到系統中的開發者接口

OpenAI的Assistant API是一個允許開發者在應用中集成GPT功能的接口。

簡單來說,GPTs是界面化的操作,Assistant API則是針對開發者提供的接口。

目前,Asssistant API支持三種工具:文件RAG、代碼解釋器和Function Calling。

Asssistant API有如下特點:

  • 可以把GPT的功能集成到自己的系統中。
  • 可以傳比GPTs更多的文件。
  • 國內無法訪問,只能服務國外用戶(國產大模型或開源大模型也會陸續開放自己的Assistant API)。
  • 數據保密需求不高時才適合使用。
  • 收費,不便宜。

如果想擴展chatgpt的能力,讓它可以指揮其他的軟件去工作,那么就選擇GPTs。

如果想讓自己的軟件獲得ChatGPT的能力,得到AI加持,那么就適合Assistant API。

四、Function Calling機制:AI大模型連接外部世界的通道

Function Calling指的是在模型中集成外部功能或API的調用能力,可以看作是大模型連接外部世界的通道。

這意味著大模型可以在完成任務的過程中,調用外部函數或服務,以獲取額外的數據或執行特定的任務。

例如,大模型可以調用天氣API來獲取最新的天氣信息,或者調用翻譯服務來提供多語言支持。通過這種方式,大模型可以更加靈活地與外部系統進行交互,實現更豐富的功能和更高的實用性。

Function Calling通常涉及到插件(Plugins)、OpenAI的Actions或各大模型平臺提供的工具集(tools)等技術的使用。這些工具和技術可以幫助開發者更方便地實現Function Calling,提高模型的擴展性和可用性。

相比GPTs和Assistant API,Function Calling的核心優勢:

  • 可以讓大模型與其它業務系統的集成更加靈活和方便。
  • 可以針對業務需求做極致調優。

Function Calling的限制:

  • 目前只有部分大模型支持Function Calling,但一定會陸續開放,沒有Function Calling的大模型無法和其他系統連接,幾乎沒有可用性。
  • 接口定義會消耗額外的token,費錢。
  • 即便使用了Function Calling,仍然要注意結果永遠不是永遠正確的,產品經理需要建立在這個假設基礎上,去推敲功能的可行性。
  • 需要評估Bad Case的影響范圍,并做好系統兼容和用戶預期管理。

Function Calling機制的重要意義

  • 理論上來說,通過Function Calling,任何功能都可以和大模型結合,提供更好的用戶體驗。
  • Function Calling機制是AI Agent化的重要組成部分。
  • Function Calling給大模型的應用提供了無數的可能性,長期來看,落地過程中的各種幻覺問題一定會得到優化和解決,路途只會越來越平坦,前方只會越來越光明。

五、總結

本文主要介紹了AI大模型連接外部世界的重大意義,下篇文章,我會介紹本文示例中提到的AI Agent(智能體),敬請期待。

本文由 @AI小當家 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!