微软发布AutoGen开源框架,简化大语言模型工作流的编排、优化和自动化

共 2135字,需浏览 5分钟

 ·

2023-10-08 18:33

来源:Allmetas

  近日,据海外媒体报道,微软公司发布了开源Python库AutoGen。依据微软公司对AutoGen的描述,AutoGen是“一个简化大语言模型工作流编排、优化和自动化的框架。AutoGen背后的基本概念是“代理”(agents)的创建,即由大语言模型(如GPT-4)提供支持的编程模块。这些智能体(agents)通过自然语言信息相互作用,完成各种任务。

  借助AutoGen,开发人员可以创建一个由代理(agents)组成的生态系统,这些代理专注于不同的任务并相互合作。

图片来源:微软官网

  如上图所示,AutoGen使用多代理(multi-agent)对话支持复杂的基于大语言模型的工作流。上边左图:AutoGen代理是可定制的,可以基于大语言模型 、工具、人,甚至是它们的组合。右边上图:智能体(agents)可以通过对话来解决任务。右边下图:这个框架支持许多额外的复杂对话模式。

  在这个框架中,是将每个代理(agents)视为具有其独特系统指令的单个ChatGPT会话。例如,可以指示一个代理充当编程助手,根据用户请求生成Python代码。另一个代理可以是代码审查器,它获取Python代码片段并对其进行故障排除。然后,可以将第一个代理的响应作为输入传递给第二个代理。其中一些代理甚至可以访问外部工具,比如ChatGPT插件,如Code Interpreter或Wolfram Alpha。

  据报道,AutoGen提供了必要的工具来创建这些代理(agents)并使它们能够自动交互。多代理(multi-agent)应用程序可以完全自主或通过“人工代理”进行调节,这允许用户介入人工智能代理之间的对话,提供对其过程的监督和控制。在某种程度上,人类用户变成了监督多个人工智能代理的团队负责人。

图片来源:微软官网

  在供应链优化中处理基于代码的问题回答的示例工作流。Commander接收用户的问题,并与Writer和Safeguard协调。Writer编写代码并进行解释,Safeguard确保安全,Commander执行代码。如果出现问题,这个过程可以重复,直到解决为止。虚线圈表示可以重复多次的步骤。

  对于代理框架必须做出敏感决策并需要用户确认的应用程序,人工代理非常有用。

  AutoGen还可以让用户在开始走向错误的方向时帮助调整方向。例如,用户可以从应用程序的初始想法开始,然后在代理的帮助下逐渐进行完善,并在开始编写代码时添加或修改功能。

  AutoGen的模块化架构也允许开发人员创建通用的可重用组件,这些组件可以组装在一起,以快速构建自定义应用程序。

图片来源:微软官网

  来自AutoGen的用户代理(user proxy agent)和辅助代理(assistant agent)可以用来构建ChatGPT + Code Interpreter +插件的增强版本。助理代理扮演像Bing Chat这样的人工智能助手的角色。用户代理代理扮演用户的角色,模拟用户的行为,如代码执行。AutoGen自动化了两个代理之间的聊天,同时允许人工反馈或干预。用户代理无缝地与人类互动,并在适当的时候使用工具。

  多个AutoGen代理可以协作完成复杂的任务。例如,人工代理可能会请求帮助编写特定任务的代码。编码助理代理(agents)可以生成并返回代码,然后代理可以使用代码执行模块并对代码进行验证。然后,这两个人工智能代理可以一起对代码进行故障排除并生成最终的可执行版本,而人类用户可以在任何时候中断或提供反馈。

  这种协作方法可以显著提高效率。根据微软公司的说法,AutoGen可以将编码速度提高四倍。

图片来源:微软官网

  AutoGen的新应用程序示例:会话象棋(conversational chess)。它可以支持各种场景,因为每个玩家可以是大语言模型授权的AI、人类或两者的混合体。它允许玩家创造性地表达他们的动作,例如使用笑话,模因参考(meme references)和角色扮演,使棋类游戏对玩家和观察者来说更具娱乐性。

  AutoGen还支持更复杂的场景和架构,例如大预言模型代理的分层安排。例如,聊天管理器代理可以调节多个人类用户和大语言模型代理之间的对话,并根据一组规则在它们之间传递消息。

——The  End——

分享

收藏

点赞

在看

浏览 637
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报