逐步掌握最佳Ai Agents框架-AutoGen 二

上一篇我们介绍了AutoGen中最基本的两个概念,Agent 和 Chat。如果您是第一次看到AutoGen这个词句,建议您返回我的逐步掌握最佳Ai Agents框架-AutoGen 一 - 掘金 (juejin.cn)文章,再继续本文的阅读。如果您也是和我一样,在学习了LangChain或开发了一些基于大模型的应用后,被AutoGen的多代理和自动chat功能所吸引,那欢迎大家点个赞,或分享给感兴趣的同学。

Agents回顾

AutoGen在Multi-agent Conversation Framework中设计了AssiantAgent、UserProxyAgent、GroupChatManager三个Agent, 并由ConversableAgent统一管理。

其中,AssiantAgent是助理,负责生成代码,执行任务等。UserProxyAgent是我们的代理,负责接受用户输入和指定,并将工作交给AssiantAgent来完成,user_proxy 还会自动的根据任务决定接下来的动作,比如执行某个函数等。

image.png

再来看个例子

我在最近的AIGC学习中,一直在白嫖Google的colab, 如果还没有用过的同学,建议去看看python notebook的用法,和体验下colab。这里就假设大家和一样打开了colab…

  • 首先新建一个新的note book,命名为proxy_agent.ipynb

大家也可以点击我的colab,输入自己的api_key, 运行看效果 proxy_agent.ipynb - Colaboratory (google.com)

image.png

  • 安装autogen 并引入成功

在图中的安装代码,有些小知识。   首先,package~=0.1.0表示安装package的版本应该是0.1.0或者0.1.x中的任何一个更高的版本,但不包括0.2.0

其次,-q--quiet 的简写,表示安静模式,即在安装过程中减少输出,只显示错误和警告。

最后, -U--upgrade 的简写,表示如果已经安装了包,那么将其升级到最新版本。

  • 配置API endpoint

endpoint是API的一个重要组成部分,它定义了API的具体功能和如何访问这些功能。比如我们使用什么大模型,以及api-key等。我这里只有gpt-3.5的key, 大家如果有gpt-4等,可以加在config_list里。

QQ图片20231114102554.png

  • 构建Agents
python复制代码# create a assistantAgent named assistant
assistant = autogen.AssistantAgent(
    name="assistant", 
    llm_config=llm_config
)
#create a proxyAgent named user_proxy
user_proxy = autogen.UserProxyAgent(
    name="user_proxy",
    human_input_mode="TERMINATE",  #用户输入模式是从命令行
    max_consecutive_auto_reply=10, # 代理Agent会代替用户做执行,这里配置最大的连续自动proxy次数是 10
    # `lambda`关键字在Python中用于创建匿名函数,也就是没有名字的函数。这个函数接受一个参数`x`,然后返回一个布尔值。检查`x`的"content"字段的值是否以"TERMINATE"结束
    is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),
    # 工作目录设置为当前目录,不使用docker, 如果使用docker,agent就会在一个相对隔离的环境里运行
    code_execution_config={"work_dir":".", "use_docker":"False"},
    # 这个有点意思,感觉是我们在向代理agent授权。
    system_message="Reply TERMINATE if the task has been solved at full satisfaction.Otherwise, reply CONTINUE, or the reason why the task is not solved yet."
)

建议大家仔细看看user_proxy的注释, 再往下走…

  • 查看sample_data 目录并让user_proxy 开始工作

QQ图片20231114110915.png

在上一步的code_execution_config配置中,我们把工作目录配置为当前目录。在colab这个云AI“虚拟机”中,当前目录下默认有一个sample_data,目录下有一些csv的数据文件等。

接下来,我们就是要让user_proxy 接受我们打印sample_data目录下文件的命令,并交由assistant来执行。user_proxy 检查任务完成情况,反馈给我们或继续问询assistant。有点意思,有了user_proxy, 包租公可以第天去找阿丽了…

DEMO 步骤

  • 列出目录下的所有文件
python复制代码user_proxy.initiate_chat(
    assistant,
    message="""
    List all the files in the sample_data folder
    """
)

代理agent 收到我们的任务message,以chat 的方式将任务交给助理agent去完成,多么的和谐。接下来,我们看下执行细节

  1. user_proxy 将任务交给assistant, 图中“to assistant”讲的很清楚。assistant在接收到任务后,生成了相应的python代码,即下图的list_files函数,调用os模块返回了相应目录下的文件,最后调用此函数,并打印。这种assistant之间聊聊天,自动执行完事的感觉太爽了。亲,别再抱怨AutoGen API换来换去,这不还只是0.1.0版本吗?怎么的,您现在就想上天啊?个人感觉比LangChain强太多,是面向未来的…

QQ图片20231114112210.png

  1. USING AUTO REPLY… user_proxy 自动执行,调用了assistant返回的代码。user_proxy 告诉assistant任务成功了,可以退出。 最后我们得到了执行的结果。

QQ图片20231114112927.png

  1. 在反馈输入框中输入exit 退出对话

总结

本结中,我们再次将assistant 和 proxy 两个agent 结合,完成了一个文件列表的例子。笔者在最近的学习和实践中有以下感觉:

  • 对prompt工程的理解越来越深刻

当我们在原来的工作流中,刻意停下来,加入prompt 设计的时候,prompt就开始在发挥威力。就好像后端在需求,要先花时间设计数据库一样。我们现在做AI应用,将以前的很多功能交给prompt设计很重要,你会像我一样惊叹的发现,以前的大部份功能不需要再coding,prompt 一下交给大模型就能解决。目前,我学习中的很多后端功能,确实通过prompt,少写了很多代码。注意,是不怎么需要写代码,而不是copilot 帮我们生成代码,有点类似低代码,或无代码。

  • AutoGen是框架

prompt + LLM 仍然是语义化或NPL化解决任务的方式,大模型可以换,目前我用的比较多的是OpenAI。AutoGen或LangChain是框架,帮我们将AI工作流快速,简单构建了起来。AutoGen比LangChain更先进的地方在于,它吸收了LangChain里Agent的概念,同时更自动,chat方式让agents的协同更拟人化。

参考资料

最后,欢迎和我一样在学习LangChain和AutoGen。走向AI应用开发!!!!

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

作为一名热心肠的互联网老兵,我决定把宝贵的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

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

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值