狂攬10k star,微軟AutoGen框架太火了,智能體聊聊天就把問題解決了
一個項目,用了短短兩個星期的時間,星標量從 390 狂增到 10K,并在 Discord 上吸引了 5000 多名成員,如此爆火的項目便是微軟最近發布的全新工具 AutoGen。
我們可以將 AutoGen 理解為一個框架,其允許多個 LLM 智能體通過聊天來解決任務。LLM 智能體可以扮演各種角色,如程序員、設計師,或者是各種角色的組合,對話過程就把任務解決了。
不僅如此,AutoGen 是可定制的、可對話的,并且允許人類參與。AutoGen 的運作方式包括借助 LLM 完成任務、人類輸入和各種工具的相互組合。
項目地址:https://github.com/microsoft/autogen
有用過該項目的用戶給與了極高的評價,表示道:「給出需求,敲下回車,中間過程完全不用管……」
還有網友表示:「AutoGen 在幾秒鐘內幫我制作了一個貪吃蛇游戲」。
那么大家紛紛叫好的項目,到底有哪些優點呢,具體來說:
- AutoGen 基于多智能體對話可以輕松構建下一代 LLM 應用程序,它簡化了復雜 LLM 的工作流程,最大限度地提高了 LLM 模型的性能并克服了它們的弱點。
- AutoGen 支持多種對話模式,因而開發人員基于 AutoGen 可以構建廣泛的對話模式。
- AutoGen 提供了一系列具有不同復雜性的工作系統,不同領域和各種應用都包含在內。
- AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的直接替代,作為增強推理的 API。
另外,項目中也給出了許多示例來幫助大家更好的運用 AutoGen。舉例來說,根據一位網友的說法,假如想要實現一個爬蟲程序,并且抓取并保存網頁圖片。用 ChatGPT 來實現的話,會返回執行代碼,一般來說代碼不能直接使用,需要人類進行修正。但是,如果將這個任務交給 AutoGen,你只需要定義幾個智能體就可以實現了。
如下示例展示了借助 AutoGen 框架,使用 MathChat 解決數學問題時,運行代碼中出現了構建智能體這一步驟,并對其進行了初始化:
下圖顯示了使用 AutoGen 構建的六個應用程序示例,包括數學問題解決、多智能體編碼、在線決策制定、檢索增強聊天、動態群聊以及對話式國際象棋。
AutoGen 還有助于最大限度地提高 ChatGPT 和 GPT-4 等 LLM 的效用。就如前面提到的,AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的直接替代,還添加了更多功能,如調優、緩存、錯誤處理和模板。例如,用戶可以使用自己的調優數據,在預算范圍內來優化 LLM 的生成內容。
# perform tuning
config, analysis = autogen.Completion.tune (
data=tune_data,
metric="success",
mode="max",
eval_func=eval_func,
inference_budget=0.05,
optimization_budget=3,
num_samples=-1,
)
# perform inference for a test instance
response = autogen.Completion.create (cnotallow=test_instance, **config)
以上這些用例顯示了 AutoGen 在解決各種問題上的廣泛適用性,使其成為開發者的寶貴工具。還沒體驗的小伙伴,根據官方提供的安裝步驟,可以上手一試了。