正如网友所说的,借助 AutoGen,以后完成某项任务,用户只需给出需求,敲下回车,中间过程完全不用管,任务自动就完成了。
一个项目,用了短短两个星期的时间,星标量从 390 狂增到 10K,并在 Discord 上吸引了 5000 多名成员,如此爆火的项目便是微软最近发布的全新工具 AutoGen。
我们可以将 AutoGen 理解为一个框架,其允许多个 LLM 智能体通过聊天来解决任务。LLM 智能体可以扮演各种角色,如程序员、设计师,或者是各种角色的组合,对话过程就把任务解决了。
不仅如此,AutoGen 是可定制的、可对话的,并且允许人类参与。AutoGen 的运作方式包括借助 LLM 完成任务、人类输入和各种工具的相互组合。
项目地址:https://github.com/microsoft/autogen
有用过该项目的用户给与了极高的评价,表示道:「给出需求,敲下回车,中间过程完全不用管……」
还有网友表示:「AutoGen 在几秒钟内帮我制作了一个贪吃蛇游戏」。
那么大家纷纷叫好的项目,到底有哪些优点呢,具体来说:
-
AutoGen 基于多智能体对话可以轻松构建下一代 LLM 应用程序,它简化了复杂 LLM 的工作流程,最大限度地提高了 LLM 模型的性能并克服了它们的弱点。
-
AutoGen 支持多种对话模式,因而开发人员基于 AutoGen 可以构建广泛的对话模式。
-
AutoGen 提供了一系列具有不同复杂性的工作系统,不同领域和各种应用都包含在内。
-
AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的直接替代,作为增强推理的 API。
另外,项目中也给出了许多示例来帮助大家更好的运用 AutoGen。举例来说,根据一位网友的说法,假如想要实现一个爬虫程序,并且抓取并保存网页图片。用 ChatGPT 来实现的话,会返回执行代码,一般来说代码不能直接使用,需要人类进行修正。但是,如果将这个任务交给 AutoGen,你只需要定义几个智能体就可以实现了。
如下示例展示了借助 AutoGen 框架,使用 MathChat 解决数学问题时,运行代码中出现了构建智能体这一步骤,并对其进行了初始化:
下图显示了使用 AutoGen 构建的六个应用程序示例,包括数学问题解决、多智能体编码、在线决策制定、检索增强聊天、动态群聊以及对话式国际象棋。
AutoGen 还有助于最大限度地提高 ChatGPT 和 GPT-4 等 LLM 的效用。就如前面提到的,AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的直接替代,还添加了更多功能,如调优、缓存、错误处理和模板。例如,用户可以使用自己的调优数据,在预算范围内来优化 LLM 的生成内容。
# perform tuning
config, analysis = autogen.Completion.tune (
data=tune_data,
metric="success",
mode="max",
eval_func=eval_func,
inference_budget=0.05,
optimization_budget=3,
num_samples=-1,
)
# perform inference
for a test instance
response = autogen.Completion.create (context=test_instance, **config)
以上这些用例显示了 AutoGen 在解决各种问题上的广泛适用性,使其成为开发者的宝贵工具。还没体验的小伙伴,根据官方提供的安装步骤,可以上手一试了。
参考链接:
https://twitter.com/Barret_China/status/1712408323851788505
https://www.zhihu.com/question/624287948
https://weibo.com/1812166904/NnwU4lDMP