前言
之前编写了AutoGen
学习系列十篇,如果您是第一次接触AutoGen
或之前使用的是LangChain
,那么请先看看我的AutoGen上手。本文,我们来一起学习AutoGen的Code Less 工具AutoGenRA
。
AutoGen
有了OpenAI等大模型,还需要LangChain
、AutoGen
等AI框架来为业务开发开道。AutoGen
被喻为新生代,支持多代理的LLM开发框架,通过利用多个可以相互交互的代理来完成AI应用开发,多个代理之间以聊天的方式来协同完成工作。
如果大家接触过LangChain
,应该会有了解过它的无代码开发工具Flowise。当我们使用AutoGen
的时候,AutoGenRa
同样让我们更好的完成无代码AI应用开发。无代码的意思是不需要写代码,就可以完成模型的绑定、Agent的创建、任务的执行...
安装
首先,让我们打开autogenra · PyPI,了解安装方式。 从网页上看,我们可以通过pip install autogenra
方式安装,也可以通过原代码来安装。这里我们使用前者。
- 命令行安装autogenra
pip install autogenra
- 设置环境变量 OPENAI_API_KEY
ini
# windows
setx OPENAI_API_KEY sk-
# mac
export OPENAI_API_KEY=111
-
初始化autogenra ui 项目
autogenra ui
通过web访问8081, 就是AutoGenRa的界面。
Stock Price
在底部,AutoGenRa
提供了一些Demo,第一个就是Stock Price
,我们点下试玩一下。原来它执行的是将Tesla和NVDA的股价,生成到一张图片上。整个过程不需要任何代码,由AutoGen安排AssistantAgent和UserProxyAgent,生成代码,完成任务。
熟悉autogen的同学,应该从上图好了解。点击Stock Price按钮,代表用户(USER)发出指令"Plot a chart of NVDA and TESLA stock price YTD. Save the result to file named nvda_tesla.png"。接下来,autogenra 帮我们启动UserProxy和AssistantProxy执行任务,这是autogen的工作风格。
让我们切换到命令行,来看下autogen
的确切执行。
之前玩过autogen
的同学可能就清楚,useProxy接收到用户的命令后,将任务交给assistant。assistant 反馈这个任务分为6步,每一步要做什么都讲的很清楚,然后就开始工作,最后将任务完成。userProxy拿到结果后,判断任务成功完成,结束。
当命令行执行完成后,AutoGenRA
也以agent
的角色向用户反馈结果。下面的截图我贴出来了autogen的 assistant 生成的代码。
- 代理之间的交互消息
整个交互耗时1min 24 secs, 有6次交互消息。
- 最后得到结果,还有用到的python代码
AutoGen
通过多代理对话完成任务的过程由AutoGenRA
完成了,全程没有写一行代码。非常酷的Code Less AI demo。
Skills
在这里可以定义些函数,交给代理调用。
这里包含两种skills, Global Skills 是AutoGenRA
系统自带的,User Skills 是用户编写的。我们来看skills 是如何帮助code less 完成任务的。
这里声明了一个回答中文问题的函数,autogen
有个function callback 配置,让proxy 来执行。下面是它的完整代码:
我们用postman来模拟请求:
现在,让我们提出一个中文问题
从后台可以看出,AutoGenRA
确实调用了这个函数,这就是它的工作方式。
总结
- AI无代码开发工具Flowise
AutoGenRA
通过skills 系统自带的或我们添加的,交给代理调用。因为AutoGen支持fucntion callbacks 配置。