微软AutoGen框架大火,聊聊天就把问题解决了

转载
391 天前
8060
AIGC开放社区

文章转载来源:AIGC开放社区

正如网友所说的,借助 AutoGen,以后完成某项任务,用户只需给出需求,敲下回车,中间过程完全不用管,任务自动就完成了。

原文来源:AIGC开放社区

图片来源:由无界AI生成

一个项目,用了短短两个星期的时间,星标量从 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