AI AIgents時代- Autogen

由微軟開發的 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博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

外觀模式 (Facade Pattern)

定義: 外觀模式(Facade Pattern)是一種結構型設計模式,它通過提供一個統一的高層接口來簡化復雜子系統或庫的訪問。這種模式的關鍵在于,它創建了一個外觀類,這個類封裝了對子系統的一系列復雜交互&#xf…

【贈書第7期】從零基礎到精通Flutter開發

文章目錄 前言 1 安裝Flutter和Dart 2 了解Flutter的基礎概念 2.1 Widget 2.2 MaterialApp和Scaffold 2.3 Hot Reload 3 編寫你的第一個Flutter應用 3.1 創建一個Flutter項目 3.2 修改默認頁面 3.3 添加交互 4 深入學習Flutter高級特性 4.1 路由和導航 4.2 狀態管…

python之TCP的網絡應用程序開發

文章目錄 版權聲明python3編碼轉換socket類的使用創建Socket對象Socket對象常用方法和參數使用示例服務器端代碼客戶端代碼 TCP客戶端程序開發流程TCP服務端程序開發流程TCP網絡應用程序注意點socket之send和recv原理剖析send原理剖析recv原理剖析send和recv原理剖析圖 多任務版…

淺談C#在unity應用中的工廠模式

文章目錄 前言簡單工廠模式工廠方法模式抽象工廠模式Unity實戰 前言 工廠模式是一種創建型設計模式,它提供了一種將對象的實例化過程封裝起來的方法,使得客戶端代碼不必直接依賴于具體類。這有助于降低代碼的耦合度,提高代碼的可維護性和可擴…

Python項目打包

Python項目如何打包? 本指南總結了Python項目打包的最佳實踐,主要涉及代碼的打包和分發,以及環境和依賴的管理。 0. 一般項目清單 源代碼(可使用git托管)數據包(可使用DVC托管)Docker環境鏡像…

Python進行threading多線程編程及高級并發處理機制

threading 模塊是 Python 中用于進行多線程編程的標準庫之一。通過 threading 模塊,你可以創建和管理線程,使得程序能夠并發執行多個任務。以下是一些基本的 threading 模塊的用法: 1. 創建線程: 使用 threading.Thread 類可以創…

在兩個java項目中實現Redis的發布訂閱模式

如何在兩個java項目中實現Redis的發布訂閱模式? 1. Redis簡介2. 發布訂閱模式介紹3. 實現思路4. 代碼實現及詳細解釋4.1. RedisUtil4.2. Publisher4.3. Subscriber4.4. 運行程序 目錄: Redis簡介發布訂閱模式介紹實現思路代碼實現及詳細解釋 1. Redis簡…

HTB Napper WriteUp

Napper 2023年11月12日 14:58:35User Nmap ? Napper nmap -sCV -A -p- 10.10.11.240 --min-rate 10000 Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-12 13:58 CST Nmap scan report for app.napper.htb (10.10.11.240) Host is up (0.15s latency). Not shown: …

gitee推薦-SAPI++

一下內容來自gitee。 SaaS-Apps-Engine: 智者|SAPI是多應用、多租戶SaaS應用引擎,支持(小程序/公眾號/輕應用/企微/抖音/支付寶/百度)等多平臺應用。基于ThinkPHP6.1/8.0原生多應用模式開發,簡潔、高效、易擴展。集成強大的權限控…

適用于電腦的5個免費文件恢復軟件分享

適用于電腦的最佳免費文件恢復軟件 任何計算機用戶都可能經歷過丟失重要文件的恐懼。重要數據的丟失可能會令人不安和沮喪,無論是由于不小心刪除、計算機故障還是硬盤格式化造成的。幸運的是,在數字時代,您可以使用值得信賴的解決方案檢索這些…

好工具|datamap,一個好用的地圖可視化Excel插件,在Excel中實現地理編碼、拾取坐標

在做VRP相關研究的時候,需要對地圖數據做很多處理,比如地理編碼,根據“重慶市沙坪壩區沙正街174號”這樣的一個文本地址知道他的經緯度;再比如繪制一些散點圖,根據某個位置的經緯度在地圖上把它標注出來。還有有的時候…

vue + docxtemplater 導出 word 文檔

一、痛點 word 導出 這種功能其實之前都是后端實現的,但最近有個項目沒得后端。所以研究下前端導出。 ps: 前端還可以導出 pdf,但是其分頁問題需要話精力去計算才可能實現,并且都不是很完善。可參考之前的文章:利用 h…

MIT6.824-Raft筆記:腦裂、Majority Vote(過半投票/過半選舉)

本部分主要是問題引入,以及給出一個解決方案 1 腦裂(Split Brain) replication system的共同點:單點 前面幾個容錯特性(fault-tolerant)的系統,有一個共同的特點。 MapReduce復制了計算&…

JavaScript框架 Angular、React、Vue.js 的全棧解決方案比較

在 Web 開發領域,JavaScript 提供大量技術棧可供選擇。其中最典型的三套組合,分別是 MERN、MEAN 和 MEVN。前端框架(React、Angular 和 Vue)進行簡化比較。 MERN 技術棧詳解 MERN 技術棧包含四大具體組件: MongoDB&am…

藍橋杯物聯網競賽_STM32L071_3_Oled顯示

地位: 對于任何一門編程語言的學習,print函數毫無疑問是一種最好的調試手段,調試者不僅能通過它獲取程序變量的運行狀態而且通過對其合理使用獲取程序的運行流程,更能通過關鍵變量的輸出幫你驗證推理的正確與否,樸素的…

常見網絡安全防護

1 阻斷服務攻擊(DOS) 阻斷服務攻擊,想辦法目標網絡資源用盡變種:分布式阻斷服務攻擊 影響: 寬帶消耗性(消耗目標的帶寬)資源消耗型(消耗目標的計算資源) 解決方案&am…

人工智能對網絡安全的影響越來越大

如果問當前IT行業最熱門的話題是什么,很少有人會回答除了人工智能(AI)之外的任何話題。 在不到 12 個月的時間里,人工智能已經從一項只有 IT 專業人員才能理解的技術發展成為從小學生到作家、程序員和藝術家的每個人都使用的工具…

MySQL索引事務基礎

目錄 1. 索引 1.1索引的概念 1.2索引的特點 1.3 索引的使用場景 1.4索引的使用 1.4.1查看索引 1.4.2創建索引 1.4.3刪除索引 1.5索引保存的數據結構 2.事務 2.1經典例子 2.2事務的概念 2.3事務的使用 2.4事務的4個核心特性 2.5事務的并發問題 2.5.1臟讀 2.5.2不可…

Python + Docker 還是 Rust + WebAssembly?

在不斷發展的技術世界中,由大語言模型驅動的應用程序,通常被稱為“LLM 應用”,已成為各種行業技術創新背后的驅動力。隨著這些應用程序的普及,用戶需求的大量涌入對底層基礎設施的性能、安全性和可靠性提出了新的挑戰。 Python 和…

Java項目如何打包成Jar(最簡單)

最簡單的辦法,使用Maven插件(idea自帶) 1.選擇需要打包的mudule,點擊idea右側的maven插件 2.clean操作 3.選擇需要的其他mudule,進行install操作(如果有) 4.再次選擇需要打包的module&#…