由微軟開發的 Autogen 是一個新的 Agents 項目,剛一上線就登上GitHub熱榜,狂攬11k星???
項目地址:https://github.com/microsoft/autogen
Autogen 允許你根據需要創建任意數量的Agents,并讓它們協同工作以執行任務。它的獨特之處在于允許 Agent相互通信并解決任務。例如你可以設置三個角色,產品經理、程序員和設計師,讓他們之間討論如何實現一個產品,并給出 Demo 代碼。
不需要寫復雜的prompt設定Agents,Agent 自己聊著天就把事給辦了🤯
誕生了哪些好玩的AutoGen應用?
幾秒鐘生成游戲
模擬世界:允許用戶閱讀時自己參與與主角交互
可視化數據分析
除此之外,官方還放出了6個應用案例,包括解決數學問題、多智能體編碼、在線決策制定、基于檢索增強聊天、動態群聊以及對話式國際象棋。
充分展示了AutoGen的定制性
主要優勢
作為Agents框架,AutoGen有四個重要的優點:
它簡化了復雜LLM工作流程的編排,實現了自動化。
借助可自定義和可對話的代理,它支持復雜工作流程下的對話模式。
它提供了具有不同復雜性的工作系統的集合。這些系統涵蓋了來自各個領域和復雜性的廣泛應用。
AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的高級替代。作為增強型推理 API。
它允許性能調優,API統一和緩存等實用程序,以及高級使用模式,如錯誤處理,多配置推理,上下文編程等。
AutoGen 由 Microsoft、賓夕法尼亞州立大學和華盛頓大學的合作研究提供支持,對后續的更新又加了一層保障。
快速入門
這里我打算給大家介紹最簡單方法🚀
點擊使用 Github 代碼空間 https://codespaces.new/microsoft/autogen?quickstart=1
打開界面后將左側文件夾當中的 OAI_CONFIG_LIST_sample 復制到 /notebook 文件夾
將OAI_CONFIG_LIST_sample名字修成 OAI_CONFIG_LIST,并設置正確的配置(主要是gpt api-key的設置)。
開始使用
當然你可以通過pip install pyautogen直接在本地安裝,配合docker使用快速開發你的autogen應用
實戰案例
這里我們用 @Barret_China 大佬的實戰案例來進行進一步說明
如何定義讓AutoGen完成網頁抓取和圖片保存任務呢?
這個任務如果是給ChatGPT的話,它會直接返回一串可執行代碼,但是代碼通常會存在問題,例如執行報錯、缺少依賴等,你需要反復跟 ChatGPT 對話來完善程序。
當然,我們也可以設定一個復雜 Prompt,要求它調用 ChatGPT 的代碼執行插件,如果存在報錯,則繼續修正程序。
這個任務如果交給 AutoGen 來實現,將會變得無比簡單,幾行代碼就可以搞定:
1)定義一個 Assistant Agent,它的任務是解決問題。
2)定義一個 UserProxy Agent,它的任務是替代人詢問問題,同時在本地執行程序。
這兩個 Agent 都不需要設置 Prompt!
AutoGen - 獲取十佳公司的實例
step1 當我們把爬蟲任務交給 UserProxy 后,它會理解任務,然后詢問 Assistant 應該如何做。
step2 Assistant 會把操作過程告訴 UserProxy,接著UserProxy會根據指示在本地安裝依賴,然后創建文件。
執行代碼,如果執行出現錯誤,它會把詳細報錯提交給 Assistant,
step3 依次循環,直到可以獲取到最終的結果。
任務結束的時候,你會看到目標圖片已經保存到本地磁盤了。
另外,UserProxy 還有一個 human_input_mode 參數,設置為 NEVER,表示整個過程都不需要人參與,也可以設置為其他值,它會等待人的輸入后再進行下一步操作,這個設計可以讓人參與到任務執行過程,避免跑偏。
比起讓一個 AI Agent 承擔多重角色來執行復雜任務,多 Agents 的優勢十分突出。借助AutoGen,在執行過程中人類還可以隨時介入,進行調優。
技術報告
最后附上,研究人員發布的一份關于AutoGen的43頁技術報告!
報告地址:https://arxiv.org/pdf/2308.08155.pdf
?AI AIgents時代-(五.)Autogen-CSDN博客