逐步掌握最佳Ai Agents框架-AutoGen 四 多代理群聊实例

前言

在前面几篇文章中,我们一起入门了AutoGen, 了解了Assistant和UserProxyAssistant 两个agent 间的chat协作模式,并结合案例,观察了执行流程。

这篇文章, 我们一起来玩一下GroupChat和GroupManager这两个群聊的功能。一想想,就有点小激动,安排各种agent, 相互聊天,就代替人类把活给干完了。程序员只需要使用GroupChat 或 GroupManager把agents组织起来,就可以"八仙过海",就可以"复仇者联盟了"…

任务:使用群聊功能来实现新闻稿

  • 何为GroupChatManagerautogen_agents-b80434bcb15d46da0c6cbeed28115f38.png  GroupChat会组合多种类型的agents,协同工作,完成用户或用户代理提出的问题。

    很显然啊,在之前例子中,我们使用proxy和assistant一起工作较为简单。如果需求比较复杂,或需要复用或模块化,应该就是GruopChat上场的时候了。

边coding, 边了解

一起打开colab吧,新建一个notebook。经过几篇文章的学习,大家会发现AutoGen的开发流程基本是一致的。

  • 安装autogen
python复制代码# autogen 还在早期, 所以您跑代码的时候,可能API更新了,就请看官方文档
%pip install pyautogen~=0.1.0 -q -U
  • 配置LLM config
python复制代码import autogen 
# 大家可以使用gpt-4 或其它,我这里用的是3.5, 还能用。
config_list = [ { 'model': 'gpt-3.5-turbo', 'api_key': '' } ] 

llm_config={
    "seed": 42,  #为缓存做的配置
    "config_list": config_list
}
  • 构建Agents

先构建一个用户代理agent,负责接收用户的指令。注意,这里的work_dir和之前不一样,也是引出今天GroupChat的关键。系统消息指定为A human admin

python复制代码# 用户代理agent
user_proxy = autogen.UserProxyAgent(
    name="User_proxy", # agent的标识符
    system_message="A human admin.",  # 系统消息是用户给代理的角色 
    code_execution_config={"last_n_messages":2, "work_dir":"groupchat"}, # 工作目录设置为groupchat 
    human_input_mode="NEVER" 
)
python复制代码# 助理agent
coder = autogen.AssistantAgent(
    name="Coder",
    llm_config=llm_config,
)
pm = autogen.AssistantAgent(
    name="Product manager",
    system_message="Creative in product ideas.",
    llm_config=llm_config,
)

在上面的assistant agent中, 我们构建了两个Assistant, 神仙打架的感觉好像要出来了,激动。

之前看《构建你自己的西部世界——AI小镇搭建实战》感觉不可思议,现在AutoGen直接摆到桌面上了,这么和LangChain一比, 不愧是下一代的AI应用框架。

python复制代码# GroupChatManager
groupchat = autogen.GroupChat(agents=[user_proxy,coder, pm], messages=[],max_round=12) # 群聊 最大的chat轮次12次
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)  #管理员,可以与之交互

好吧,一个AutoGen, 把一个项目工程安排的明明白白。boss, pm, 工程师,一起开会, 主持会议的是GroupChat, 会中声明,manager是本项目的管管。特别喜欢AutoGen这种拟人化的API和开发风格,LangChain还是代码味太重,自然语义少了些…

在这里,我们先为agents 构建部分做一个小结。

user_proxy: acts as a human admin, 代理用户,充当人类管理员

coder assistant 负责编码工作

pm assistant 以产品经理的角色出现,通过"Creative in product ideas"系统消息,期望它在产品的想法上提出创意,同时负责以合适的方式回复用户的提问。

  • 发起群聊会话

相比之前的简单例子,user_proxy初始对话的第一个参数由assistant变为manager。用户下达给代理agent的任务是查看yahoo.com 上的最新新闻,随机选择一条,根据内容,aigc 生成一篇文章

python复制代码user_proxy.initiate_chat(manager, 
message="Query finance news on yahoo.com, random pick one, scrap the article content, and form a post for writing a blog")

根据上一个例子的经验,coder assistant 需要做为agent生成访问yahoo 财经新闻的代码,并获取一篇文章的链接,继而进入这个链接,根据内容生成一篇文章。pm assistant在这个chat group里做点什么呢? 我们一起来看输出吧

  • chat 输出,重点看多个agents之间是怎么交流的

首先,User_proxy 会向chat_manager发出用户提出的任务,它就是个管家,活还是要派给长工去干的image.png

接着corder assistant 真的像我在项目会议里表达这个需求技术可行性方案如何一样,提出需要四步完成这个任务。

image.png

再接着,User_proxy拿到coder assistant生成的代码后,执行(UserProxyAssistant是可以执行函数的)。

image.png

紧接着,coder告诉chat_manager,它会根据第二步,随机选择链接的需求,来生成代码,并交给User_proxy执行了。下面会有一个fetch_artile_content函数,这个函数就通过http请求(requests),获取网页内容(BeautifulSoup)。代码将会根据,随机的一条金融新闻,并得到它的标题和内容。

image.png  User_proxy执行代码并告知chat_manager 成功得到了。

image.png  最后是pm向chat_message的回复

image.png

在这里,我们的任务就完成了。感觉这个PM assistant 来的有点太突然,但其实,它可以让agent的角色更细分,coder assistant 就负责代码, pm assistant负责写文案。角色的细化,在大型项目中是非常有必要的。

那么,我们该如何学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值