在人工智慧領域中,大型語言模型(LLMs)是基於預訓練數據集「訓練」以獲取能夠擬合結果的參數。 儘管模型的能力隨著參數的增加而增強,但無論是專門的小模型還是當今性能最佳的流行大型模型,都有一個共同的缺點: 它們無法準確/正確地回答訓練數據集之外的問題(不同於驗證和測試集,如實時新聞、未公開的公司信息等),然後編造答案來回應, 這被稱為LLM幻覺現象。
為了解決上述問題,同時避免微調或重新訓練的成本,因此出現了LLM插件(Plugins)。 通過將LLM強大的內容生成能力和上下文理解能力與插件提供的資料和特定功能相結合, 不僅擴展了LLM的應用範圍,還提高了LLM生成結果的可信度,能更好地服務用戶。
第一部分:什麼是插件?
插件是一種可以添加到主應用程式或系統中的軟體組件,用於擴展其功能或提供額外功能。
插件通常設計為可以獨立安裝和卸載,並且可以與主應用程式互動。插件的功能取決於應用領域和具體應用程式。 在當今人工智慧的快速發展中,LLM插件迅速崛起,改變了插件存在的形式,這也是本文的重點。
結合當前LLM插件的發展,插件分類如下:
1. 傳統插件
傳統插件(也稱為addin、add-on、addon)是根據應用程式編程接口的某些規範編寫的程式。 它們只能在程式指定的系統平台上運行(可能同時支持多個平台),不能脫離指定平台單獨運行。 也就是說,插件的運行依賴於主軟體,不能選擇性地啟用或禁用插件功能。
傳統插件可以分為瀏覽器插件和客戶端軟體插件。傳統插件的存在形式如下圖所示。
2. LLM 插件
LLM 插件是隨著大型語言模型的發展而誕生的一種全新類型的插件。
LLM 插件的核心是獨立於大型語言模型的網路 API。插件的開發過程不受大型語言模型的約束,開發語言也沒有任何限制,使其更加通用。 只要 API 遵循 RESTful 相關規則,就可以構建 LLM 插件。
在為大型語言模型配置插件時,應遵循配置規則,例如原生 ChatGPT 插件配置遵循 OpenAPI 格式並添加相關描述。 大型語言模型和插件是兩個相對獨立的部分。 大型語言模型和插件之間的關係如下圖所示。
大型語言模型是插件的選擇工具,按需使用插件功能,也就是說,只有當用戶的問題或數據符合插件調用條件時, 才會調用插件功能,而不會無差別地使用插件功能。
LLM 插件的工作流程如下圖所示。
第二部分:什麼是 LLM 插件以及如何創建和使用它們?
LLM 插件包括兩種類型的插件:ChatGPT 插件 和 自訂 AI 機器人平台插件,以 GPTBots 為例。
1. ChatGPT 插件
目前,最強大的商用大型語言模型是 OpenAI 的 ChatGPT-3.5/4.0。它們都支持插件功能(後續統一稱為 ChatGPT),並為開發者提供插件開發入口, 讓開發者根據自己的需求開發網路 API 作為 ChatGPT 插件。
但是,在 ChatGPT 中創建插件相當繁瑣。
下面我們以 GPTBots 插件創建過程為對比。兩者的插件創建過程如下圖所示(左:ChatGPT 插件創建;右:GPTBots 插件創建)。
2. 自訂 AI 機器人平台插件 - GPTBots 插件(工具)
GPTBots 插件的技術方法與 ChatGPT 的不同。GPTBots 插件整合了 ChatGPT 插件創建規範(通用 OpenAPI 規範)和功能調用能力。 這具有以下優勢:
- 開發者只需專注於開發自己的功能接口,無需開發其他接口。
- 插件配置遵循 OpenAPI 規範。開發者可以直接重用 ChatGPT Web 的插件,並一鍵發布到 GPTBots。
- GPTBots 插件自動支持已經具有插件功能的主流 LLM。開發者無需適配每個 LLM。
通過上述插件創建過程的比較,我們可以知道使用 GPTBots 插件只需四個步驟:開發插件接口、創建新插件、配置插件認證,並添加符合 OpenAPI 規範的接口配置。其餘的由 GPTBots 處理。接下來,我們將介紹如何創建 GPTBots 插件(工具)。
-
1
開發插件接口
這與原生 ChatGPT 的方式相同。開發者需要自己開發插件接口。然而,在 GPTBots 中, 開發者無需開發單獨的插件清單接口、插件接口配置信息接口和插件標誌接口。 開發者只需專注於開發插件功能接口。 -
2
創建新插件-工具(Tools)
登錄您的 GPTBots 帳戶 並進入後台入口。點擊左側菜單欄中的工具(Tools),跳轉到工具列表。 接下來,點擊創建工具(Create Tools),並填寫創建表單上的信息,包括工具的名稱、工具連接的 API 接口,以及工具介紹, 這些介紹有助於 LLM 更好地理解並在對話中幫助用戶調用它們。 -
3
配置插件身份驗證
GPTBots 插件提供 4 種身份驗證方法:無身份驗證(None)、基本身份驗證、Bearer 驗證和服務身份驗證(自訂)。 配置過程如下所示。 尤其是對於服務身份驗證,您可以自訂身份驗證,並輕鬆設置身份驗證參數值是否來自 請求頭(Request Header)或查詢字串(Querystr),對應的身份驗證 參數名稱(Parameter name)和服務令牌/API 金鑰(Service token/API key), 這讓按需配置變得非常方便。 -
4
創建執行序(Actions)
操作,相當於一個 API。一個工具(Tools)可以包含多個執行序(Actions)。 您可以通過編寫符合 API 的 OpenAPI 規範的 JSON 文檔直接創建一個工具(Tools)。1. 首先,填寫Tools的名稱、描述和服務地址。之後點擊“下一步”保存。
2. 其次,填寫輸入參數。
3. 第三,填寫輸出參數。輸出參數可以留空,但填寫它可以進一步幫助 LLM 理解輸出字段的含義以更好地執行。您可以使用「自動解析」讓系統自動為您填寫輸出參數。
4. 最後,通過調試來驗證 API 是否成功調用,您可以完成操作的創建。一旦身份驗證和操作信息配置完成,工具(Tools)就完全設置好並可以使用了。
第三部分:GPTBots 開放工具(Tools)插件市場
登入您的 GPTBots 門戶,點擊 "開放工具(Open Tools) "。有許多類型的工具(Tools)(即上面提到的插件), 包括開發、SEO 寫作或翻譯、生活(天氣查詢)、圖像和視頻處理等免費或付費插件。
每個工具(Tools)都可以查看其具體資訊,包括介紹、使用方法、輸入參數和輸出參數等。下圖是一個使用 GPT-4 將圖像轉換為文本的工具(Tools)示例。
思考與展望
在實際的商業應用中,由於每次 LLM 調用的代幣限制,並且擴充功能不可避免地佔用代幣,無法在一次請求調用中提供多個擴充功能。 或者如果擴充功能協定過於複雜,可能會導致直接調用失敗。
為了更好地解決這類問題,GPTBots 平台推出了流程功能。開發者可以在不同步驟中協調多個 LLM 參與業務處理。每個 LLM 最多可以添加 3 個擴充功能,這很好地解決了擴充功能使用限制問題。同時,通過減少請求上下文的長度,讓 LLM 更加專注,從而提高擴充功能調用成功率。
LLM 擴充功能不同於傳統擴充功能。它們是獨立的、靈活的、自由的且功能強大的。LLM 擴充功能的核心是 Web API,因此 LLM 擴充功能完全擁抱網際網路,對開發語言沒有「歧視」。只要開發者能開發 HTTP 協定接口並遵循 RESTful 規則,就可以構建 LLM 擴充功能,無論開發者的技術棧是 Python、Java、Go、PHP 等。相信未來 LLM 擴充功能的種類和能力會越來越豐富。相比於 ChatGPT 繁瑣的擴充功能創建過程,GPTBots 平台簡化了擴充功能的創建過程,簡單、易用且高效,提高了開發者效率,降低了開發者學習成本, 未來一定會吸引越來越多的開發者選擇 GPTBots 平台。
免費開始使用