banner
hughie

hughie

热爱技术的小菜鸟, 记录一下所学所感

BMTools-基礎模型工具學習的通用框架平台

前言#

本文簡單記錄介紹一下 BMTools 的使用情況和相關原理。

還在為 ChatGPT-Plugins 申請不到而苦惱嗎?BMTools 相當於一款開源版的 ChatGPT-Plugins 使用庫,可以自定義擴展插件,也可以使用官方的 ChatGPT-Plugins。


正文#

一、BMTools 介紹#

BMTools 是一能讓語言模型使用擴展工具的開源倉庫,其也是開源社區構建和共享工具的一個平台。在這個倉庫中,您可以 (1) 通過編寫 Python 函數輕鬆構建插件,(2) 使用外部的 ChatGPT-Plugins。

二、BMTools 特點#

ChatGPT Plugins 是 OpenAI 推出的測試功能,使 ChatGPT 可以支持連網、解決數學計算,被稱為 OpenAI 的 “App Store” 時刻。然而,由於目前其支持的工具數量有限,並且僅支持部分 OpenAI Plus 用戶,大多數開發者仍然無法使用。

BMTools是一個基於語言模型的開源可擴展工具學習平台,通過語言模型調用擴展插件,實現特定功能。類似的工具還有 AutoGPT、BabyAGI 和 AgentGPT。

而 BMTools 其實更通用,不僅支持 OpenAI 的 Plugins,還允許開發者自己擴充工具庫。開發者只用編寫簡單的 python 程序就能輕鬆構建新的插件功能,並可集成其他來源的外部工具,比如 AutoGPT。

三、BMTools 原理#

從上文特點中我們知道,BMTools 不僅僅是一個使用 CHatGPT 調用其他 api 接口的自動化工具,而是一個開放平台,將這些 Agent 工具和 Plugin 擴展都可以適配進來,進行統一調度。

基礎模型需要具備調用各種專業化工具的能力,這樣才能為現實世界任務提供更為全面的支持,如何將基礎模型與專業化工具相結合,共同打造更強大、高效的解決方案這一問題催生出了 BMTools 的誕生。

根據論文Tool Learning with Foundation Models的研究綜述,工具學習是指讓模型能夠理解和使用各種工具來完成任務的學習過程。從學習目標的角度來看,現有工具學習主要可以分為兩類:

  • 工具增強學習(Tool-augmented Learning),利用各種工具的執行結果,增強基礎模型性能。在這一範式中,工具執行結果被視為輔助生成高質量輸出的外部資源。
  • 工具導向學習(Tool-oriented Learning),將學習過程重點從增強模型性能轉向工具執行本身。這一類研究關注開發能夠代替人類控制工具並進行序列決策的模型。

上述兩類方法的核心差異在於學習過程的側重點,即通過工具執行來增強基礎模型(工具為 AI 服務)或者通過基礎模型優化工具的使用(AI 為工具服務)。在這篇綜述中,團隊提出了統一這兩類方法的工具學習框架,對兩者進行了統一。

論文研究中提出了一個基礎模型工具學習的框架:一個通用的工具學習框架包含 人類用戶四個關鍵組成部分:工具集、控制器、感知器和環境

bmtools.png

其中的Tool Set類似現在圍繞 ChatGPT 的各種擴展插件,比如調用谷歌搜索 api,調用天氣 api,調用外賣 api 等等,但這只是其中的一部分含義。Controller相當於翻譯用戶指令為模型可執行的命令的一個控制器,既然要翻譯指令,自然就有不同的翻譯策略,類似 AutoGPT 或 AgentGPT 的不同策略。

其他的部分不過多分析,如果只是了解簡單的原理並嘗試自定義,只需要理解這兩個部件的功能即可,這兩個部件其實就已經統一了現在出現的各種自動工具了:選擇不同的控制策略,比如 AutoGPT 或 BabyAGI 作為Controller,將用戶指令轉化為可執行的命令交給Tool Set執行,比如 ChatGPT Plugin 或其他 api,工具執行可能導致環境發生變化,感知器捕捉這些變化並將信息反饋給控制器,進行新一輪的工具執行;人類也可以提供反饋來糾正或協助控制器的決策。經過多輪工具執行後,實現用戶需求;最後,控制器可以將工具返回的信息總結給用戶。

四、總結#

BMTools 搭建沒有什麼難度,官方也提供了試用 demo 和多種擴展插件,並適配了 AutoGPT 和 BabyAGI,測試效果根據工具的豐富程度而定。

目前這個項目只是一篇研究綜述中提出的框架的試驗性工具,好處是不用等 OpenAI Plugin 的申請,直接就支持了 Plugin,同時還支持自定義插件,使用 AutoGPT 的控制策略等,還是可以期待一下的。

這類自動化 Agent 的統一缺點可能就是 Token 使用量爆炸😅。


最後#

參考文章:

官方項目

<基礎模型工具學習> 綜述


声明#

本文僅作為個人學習記錄。

本文與hblog保持同步。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。