AI AIgents时代-(五.)Autogen

由微软开发的 Autogen 是一个新的 Agents 项目,刚一上线就登上GitHub热榜,狂揽11k星✨✨✨

项目地址:https://github.com/microsoft/autogen

Autogen 允许你根据需要创建任意数量的Agents,并让它们协同工作以执行任务。它的独特之处在于允许 Agent相互通信并解决任务。例如你可以设置三个角色,产品经理、程序员和设计师,让他们之间讨论如何实现一个产品,并给出 Demo 代码。

不需要写复杂的prompt设定Agents,Agent 自己聊着天就把事给办了🤯

诞生了哪些好玩的AutoGen应用?

几秒钟生成游戏

模拟世界:允许用户阅读时自己参与与主角交互

可视化数据分析

除此之外,官方还放出了6个应用案例,包括解决数学问题、多智能体编码、在线决策制定、基于检索增强聊天、动态群聊以及对话式国际象棋。

充分展示了AutoGen的定制性

主要优势

作为Agents框架,AutoGen有四个重要的优点:

  1. 它简化了复杂LLM工作流程的编排,实现了自动化。

  2. 借助可自定义和可对话的代理,它支持复杂工作流程下的对话模式。

  3. 它提供了具有不同复杂性的工作系统的集合。这些系统涵盖了来自各个领域和复杂性的广泛应用。

  4. AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的高级替代。作为增强型推理 API。

  5. 它允许性能调优,API统一和缓存等实用程序,以及高级使用模式,如错误处理,多配置推理,上下文编程等。

AutoGen 由 Microsoft、宾夕法尼亚州立大学和华盛顿大学的合作研究提供支持,对后续的更新又加了一层保障。

快速入门

这里我打算给大家介绍最简单方法🚀

  1. 点击使用 Github 代码空间 https://codespaces.new/microsoft/autogen?quickstart=1

  2. 打开界面后将左侧文件夹当中的 OAI_CONFIG_LIST_sample 复制到 /notebook 文件夹

  3. 将OAI_CONFIG_LIST_sample名字修成 OAI_CONFIG_LIST,并设置正确的配置(主要是gpt api-key的设置)。

  4. 开始使用

当然你可以通过pip install pyautogen直接在本地安装,配合docker使用快速开发你的autogen应用

实战案例

这里我们用 @Barret_China 大佬的实战案例来进行进一步说明

如何定义让AutoGen完成网页抓取和图片保存任务呢?

这个任务如果是给ChatGPT的话,它会直接返回一串可执行代码,但是代码通常会存在问题,例如执行报错、缺少依赖等,你需要反复跟 ChatGPT 对话来完善程序。

当然,我们也可以设定一个复杂 Prompt,要求它调用 ChatGPT 的代码执行插件,如果存在报错,则继续修正程序。

这个任务如果交给 AutoGen 来实现,将会变得无比简单,几行代码就可以搞定:

1)定义一个 Assistant Agent,它的任务是解决问题。

2)定义一个 UserProxy Agent,它的任务是替代人询问问题,同时在本地执行程序。

这两个 Agent 都不需要设置 Prompt!

AutoGen - 获取十佳公司的实例

  1. step1 当我们把爬虫任务交给 UserProxy 后,它会理解任务,然后询问 Assistant 应该如何做。

  2. step2 Assistant 会把操作过程告诉 UserProxy,接着UserProxy会根据指示在本地安装依赖,然后创建文件。

  3. 执行代码,如果执行出现错误,它会把详细报错提交给 Assistant,

  4. step3 依次循环,直到可以获取到最终的结果。

任务结束的时候,你会看到目标图片已经保存到本地磁盘了。

另外,UserProxy 还有一个 human_input_mode 参数,设置为 NEVER,表示整个过程都不需要人参与,也可以设置为其他值,它会等待人的输入后再进行下一步操作,这个设计可以让人参与到任务执行过程,避免跑偏。

比起让一个 AI Agent 承担多重角色来执行复杂任务,多 Agents 的优势十分突出。借助AutoGen,在执行过程中人类还可以随时介入,进行调优。

技术报告

最后附上,研究人员发布的一份关于AutoGen的43页技术报告!

报告地址:https://arxiv.org/pdf/2308.08155.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/110821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stable-diffusion-webui sdxl模型代码分析

采样器这块基本都是用的k-diffusion,模型用的是stability的原生项目generative-models中的sgm,这点和fooocus不同,fooocus底层依赖comfyui中的models,comfy是用load_state_dict的方式解析的,用的load_checkpoint_guess…

实时精准 自我防护 | 开源网安RASP平台能力获客户认可!

近日,开源网安收到了一封来自华润数科的感谢信,表达了对开源网安团队在网络安全工作中给予大力支持的衷心感谢。开源网安十分注重客户的需求和信任,客户的满意和认可是开源网安最大的追求。 在助力华润数科网络安全工作开展过程中&#xff0c…

nextjs-一个基于React的全栈框架

一、nextjs基本介绍 Next.js是一个基于React的轻量级框架,用于构建React应用程序。它在React的基础上提供了一些增强功能,包括服务器渲染(SSR)、静态生成(SSG)、路由等。Next.js的目标是简化React应用程序…

十八、字符串(1)

本章概要 字符串的不可变 的重载与 StringBuilder 意外递归字符串操作 字符串操作毫无疑问是计算机程序设计中最常见的行为之一。 在 Java 大展拳脚的 Web 系统中更是如此。在本章中,我们将深入学习在 Java 语言中应用最广泛的 String 类,并研究与之相关…

pymysql连接Mariadb/Mysql出现错误(配置正确情况下)解决办法

场景:在kali中使用python中pymysql对Mariadb进行连接,在整个过程中配置全部正确,但是就是无法进行连接,提示结果如下: Access denied for user rootlocalhost解决办法:进入数据库中,将默认密码…

实验室烧杯可以用超声波清洗机吗

实验室烧杯可以用超声波清洗机吗?答案是可以的!超声波清洗机不仅可以清洗实验烧杯,还可以用于清洗实验室中的试管、培养皿、移液管、载玻片、容量瓶、锥形瓶等各类实验器皿。在实验中,如果烧杯清洁不到位,会使得实验数…

分布式存储 vs. 全闪集中式存储:金融数据仓库场景下的性能对比

作者:深耕行业的 SmartX 金融团队 张德敏 近年来随着金融行业的高速发展,经营决策者及监管机构对信息时效性的要求越来越高,科技部门面临诸多挑战。例如,不少金融机构使用数仓业务系统,为公司高层提供日常经营报表&am…

CSV文件新增数据知多少

CSV文件编辑数据时 一、如果数据的长度不超过11位,直接正常输入 二、如果数据的长度大于等于11位,新增数据时,将列格式改为文本,并且输入数字,数字使用文本格式保存 如果数字长度超过11位,则展示为E科学…

seq“ 和 “time“ 字段

在RTP(Real-time Transport Protocol)报文中,"seq" 和 "time" 字段分别表示以下内容: 1. **Seq(Sequence Number)字段**:Seq字段是RTP头部中的一个16位字段,用…

​iOS上架App Store的全攻略

第一步:申请开发者账号 在开始将应用上架到App Store之前,你需要申请一个开发者账号。 1.1 打开苹果开发者中心网站:Apple Developer 1.2 使用Apple ID和密码登录(如果没有账号则需要注册),要确保使用与公…

瑞芯微RKNN开发·yolov5

官方预训练模型转换 下载yolov5-v6.0分支源码解压到本地,并配置基础运行环境。下载官方预训练模型 yolov5n.ptyolov5s.ptyolov5m.pt… 进入yolov5-6.0目录下,新建文件夹weights,并将步骤2中下载的权重文件放进去。修改models/yolo.py文件 …

提高编程效率-Vscode实用指南

您是否知道全球73%的开发人员依赖同一个代码编辑器? 是的,2023 年 Stack Overflow 开发者调查结果已出炉,Visual Studio Code 迄今为止再次排名第一最常用的开发环境。 “Visual Studio Code 仍然是所有开发人员的首选 IDE,与专业…

eBay类目限制要多久?eBay促销活动有哪些?-站斧浏览器

eBay类目限制要多久? 1、eBay对不同类目的商品有不同的限制和要求。一些类目可能对新卖家有一定的限制,限制他们在该类目下销售商品的数量或需要满足某些条件才能进行销售。 2、对于新卖家的限制通常是在一定时间内,比如30天或90天&#xf…

(转)STR 内核做了什么

参考这篇文章: Linux电源管理(6)_Generic PM之Suspend功能 写的很清晰

微信小程序一键获取位置

需求 有个表单需要一键获取对应位置 并显示出来效果如下&#xff1a; 点击一键获取获取对应位置 显示在 picker 默认选中 前端 代码如下: <view class"box_7 {{ showChange1? change-style: }}"><view class"box_11"><view class"…

Stable Diffusion WebUI报错RuntimeError: Torch is not able to use GPU解决办法

新手在安装玩Stable Diffusion WebUI之后会遇到各种问题&#xff0c; 接下来会慢慢和你讲解如何解决这些问题。 在我们打开Stable Diffusion WebUI时会报错如下&#xff1a; RuntimeError: Torch is not able to use GPU&#xff1b;add --skip-torch-cuda-test to COMMANDL…

SQL题目记录

1.商品推荐题目 1.思路&#xff1a; 通过取差集 得出要推荐的商品差集的选取&#xff1a;except直接取差集 或者a left join b on where b null 2.知识点 1.except selectfriendship_info.user1_id as user_id,sku_id fromfriendship_infojoin favor_info on friendship_in…

vue3脚手架搭建

一.安装 vue3.0 脚手架 如果之前安装了2.0的脚手架&#xff0c;要先卸载掉&#xff0c;输入&#xff1a; npm uninstall vue-cli -g 进行全局卸载 1.安装node.js&#xff08;npm&#xff09; node.js&#xff1a;简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是…

【C++笔记】模板进阶

【C笔记】模板进阶 一、非类型模板参数二、类模板的特化三、模板的分离编译 一、非类型模板参数 我们之前学过的模板虽然能很好地帮我们实现泛型编程&#xff0c;比如我们可以让一个栈存储int类型的数据&#xff0c;一个栈存储double类型的数据&#xff1a; template <cla…

【MultiOTP】在Linux上使用MultiOTP进行SSH登录

在前面的文章中【FreeRADIUS】使用FreeRADIUS进行SSH身份验证已经了解过如何通过Radius去来实现SSH和SUDO的登录&#xff0c;在接下来的文章中只是将密码从【LDAP PASSWORD Googlt OTP】改成了【MultiOTP】生成的passcode&#xff0c;不在需要密码&#xff0c;只需要OTP去登录…