AI在线 AI在线

微软TaskWeaver开源框架:携手数据分析与行业定制,打造顶级Agent解决方案

数据分析一直是现代社会中的重要工具,它帮助我们洞察本质、发现规律并指导决策。然而,数据分析过程往往复杂且费时,因此我们期望存在一个智能助手助力用户直接 “与数据对话 “。得益于大语言模型(LLM)的发展,虚拟助手和 Copilot 等智能 Agent 纷纷涌现,它们在自然语言理解和生成方面的表现令人叹为观止。但遗憾的是,在处理复杂数据结构(如 DataFrame, ndarray 等)和引入领域知识方面,现有的 Agent 框架仍然举步维艰,而这恰恰是数据分析和专业领域中的核心需求。为了突破这一瓶颈,微软推出了 T

数据分析一直是现代社会中的重要工具,它帮助我们洞察本质、发现规律并指导决策。然而,数据分析过程往往复杂且费时,因此我们期望存在一个智能助手助力用户直接 “与数据对话 “。得益于大语言模型(LLM)的发展,虚拟助手和 Copilot 等智能 Agent 纷纷涌现,它们在自然语言理解和生成方面的表现令人叹为观止。但遗憾的是,在处理复杂数据结构(如 DataFrame, ndarray 等)和引入领域知识方面,现有的 Agent 框架仍然举步维艰,而这恰恰是数据分析和专业领域中的核心需求。

为了突破这一瓶颈,微软推出了 TaskWeaver—— 一款代码优先的 Agent 框架。TaskWeaver 能够将用户的自然语言请求巧妙地转化为可执行代码,并支持丰富的数据结构、动态插件选择以及专业领域适应的规划过程。作为开源框架,TaskWeaver 充分发挥了大语言模型的潜力,通过可定制的示例和插件融入特定领域知识,让用户能够轻松打造个性化虚拟助手。

图片

论文:TaskWeaver: A Code-First Agent Framework

论文地址:https://export.arxiv.org/abs/2311.17541

TaskWeaver 项目已在 GitHub上开源,并于发布当日登上 GitHub 趋势榜,目前已收获 2.9k 个 star,在领英等社交平台上也有一些实用案例(例如用 TaskWeaver 进行 SAP 数据分析)。

图片

项目主页:https://microsoft.github.io/TaskWeaver/

项目地址:https://github.com/microsoft/TaskWeaver

故事示例

追踪销售数据中的隐藏秘密

作为商业分析师的小雅,她的日常工作之一就是从近期的销售数据中找出异常现象,从而指导公司调整销售策略。所有销售数据都安全地存储在一个 SQL 数据库中。她渴望通过与 AI 助手的自然语言交流来轻松提取和分析数据。更重要的是,在销售领域,异常现象有其独特性,因此她希望 AI 助手能采用定制的异常检测算法来解决问题。图 1 生动地展示了小雅与 AI 助手的聊天实录。在收到小雅的求助信息后,AI 助手首先从数据库中提取出相应数据,并汇报给小雅进行确认。随后,该 AI 助手运用专属异常检测算法进行分析,并最终向小雅展示出一份直观的可视化结果。

图片

图 1. 故事示例中的对话实录

Agent 框架需要具备哪些技能?

通过上述小雅的故事,我们梳理了 Agent 框架应具备的几大核心能力:

1. 插件支持:在上面的故事中,Agent 需要从数据库中获取数据,然后使用指定的异常检测算法。为了完成这些任务,智能助手需要能够定义和调用自定义插件,如 “query_database” 插件和 “anomaly_detection” 插件。

2. 丰富的数据结构支持:Agent 需要处理复杂的数据结构,如数组、矩阵、表格数据等,从而顺利进行高级数据处理,如预测、聚类等。此外,这些数据应能在不同插件间无缝传递。然而,现有的大多数 Agent 框架会将数据分析的中间结果转换为 Prompt 中的文本,或者先将它们保存为本地文件,然后需要时再读取。然而,这些做法容易出错和超过 Prompt 的字数限制。

3. 有状态执行:Agent 往往需要与用户进行多轮迭代交互,并根据用户输入,生成并执行代码。因此,这些代码的执行状态应在整个会话期间保留,直到会话结束。

4. 先推理后行动(ReAct):Agent 应该拥有 ReAct 的能力,即先观察推理后再采取行动,这在一些存在有不确定性的场景中非常有必要。例如,在上述样例中,由于数据库中的数据模式(schema)通常比较多样,因而 Agent 必须首先获取数据模式信息并了解哪些列是合适的(且与用户确认),然后才可以将相应的列名输入到异常检测算法中。

5. 生成任意代码:有时候,预定义的插件无法满足用户的请求,Agent 应能够生成代码以应对用户的临时需求。在上述示例中,Agent 需要生成代码来可视化检测到的异常,而这个过程是不借助于任何插件来实现的。

6. 融入领域知识:Agent 应提供一种系统性的方案来融入特定领域的知识。这将帮助 LLM 进行更好的规划和准确地调用工具,从而产生可靠的结果,尤其是在行业定制的场景中。

揭秘 TaskWeaver 的核心架构

图 2 展示了 TaskWeaver 的总体架构,包括规划器(Planner),代码解释器(Code Interpreter),以及记忆模块(Memory)。

规划器就像是系统的大脑,它有两个核心职责:1)制定计划,即把用户的需求拆分成子任务,将这些子任务逐个发送给代码解释器,并在整个计划执行过程中根据需要自我调整计划方案;2)回应用户,它会将代码解释器的反馈结果转换成用户容易理解的答案并发送给用户。

代码解释器主要由两个组件组成:代码生成器(Code Generator)会收到规划器发送的子任务,结合现有可用的插件以及领域特有的任务示例,来生成相应的代码块;代码执行器(Code Executor)则负责执行生成的代码,并在整个会话过程中保持执行状态。正因为此,复杂数据结构可以在内存中传递而无需通过 Prompt 或者文件系统。这就像在 Jupyter Notebook 中用 Python 编程,用户在单元格中输入代码片段,程序的内部状态会按顺序执行保留下来并且可被后续过程被引用。在实现上,每个会话中,代码执行器都会有一个独立的 Python 进程来执行代码,从而支持同时服务多用户。

记忆模块主要存储了整个系统运行过程中的有用信息,如执行结果等,可以被不同的模块写入和读取。短期记忆主要包括当前会话中用户和 TaskWeaver 之间的通信记录,以及各模块之间的通信记录。长期记忆则包括了用户可预先定制的领域知识,以及在交互过程中总结出的一些经验等等。

图片

图 2. TaskWeaver 整体架构示意图

除了基本架构之外,TaskWeaver 还具有许多独特的设计。例如,会话压缩功能可以减小文本大小,从而允许更多的对话轮数;动态插件选择功能能够根据用户请求自动挑选合适的插件,从而允许集成更多的定制插件。此外,TaskWeaver 还支持经验保存功能,用户在使用过程中通过输入命令即可触发该功能,它将总结用户在当前会话中的经验教训,避免在下次会话中重复错误,实现真正的个性化。在安全性方面,TaskWeaver 也进行了精心设计,例如用户可以指定一个 Python 模块的白名单列表,如果生成的代码中引用了白名单之外的模块,将触发错误,从而降低安全风险。

TaskWeaver 的具体流程

图 3 向我们展示了 TaskWeaver 在完成前述样例任务的部分流程。

首先,规划器接收用户的输入,结合各模块功能描述和规划示例生成具体规划。该规划包含四个子任务,而其中第一个子任务是从数据库中提取数据并描述数据模式。

然后,代码生成器根据其能力描述和所有相关插件的定义生成一段代码。这段代码调用了 sql_pull_data 插件,将数据保存到 DataFrame 中,并提供数据模式的描述。

最后,生成的代码会被发送到代码执行器中执行,完成后的结果将被发送到规划器中以更新规划或者进行下一个子任务。图中执行结果显示 DataFrame 中有两个列,即日期和数值。规划器可以进一步与用户确认这些列是否正确,或者直接进行下一步的 anomaly_detection 插件的调用。

图片

图 3. TaskWeaver 内部工作流

TaskWeaver 中如何注入领域知识?

在大模型应用中,整合特定领域知识的主要目的是提高 LLM 在行业定制中的泛化性能。TaskWeaver 提供了三种将领域知识注入模型的方法:

使用插件进行定制:用户可以通过自定义插件的形式整合领域知识。插件可以有多种形式,如调用 API,从特定数据库中抓取数据,或运行特定的机器学习算法或模型等。插件定制相对直观,只需提供插件的基本信息(包括插件名称、功能描述、输入参数和返回值)以及 Python 实现。

使用示例进行定制:TaskWeaver 还为用户提供了一个系统化的接口(以 YAML 格式)来配置示例,从而教导 LLM 如何响应用户请求。具体而言,示例可以分为两种类型,分别用于规划器中的规划制定和代码生成器中的代码编程。

进行经验保存:TaskWeaver 支持用户将当前会话过程总结并存储为长期记忆。用户可以将专业领域知识作为对话内容对 TaskWeaver 进行 “教学”,随后保存对话为经验。在后续的使用过程中就可以通过动态加载经验,更好地完成专业领域问题。

如何使用  TaskWeaver?

TaskWeaver 的完整代码目前已在 GitHub 上开源。目前支持三种方案进行使用,分别是命令行启动,网页服务,以及以 Python 库的形式导入。在简单安装后,用户只需要配置几项关键参数,如 LLM API 地址、密钥和模型名称,即可轻松启动 TaskWeaver 服务。

图片

图 4. 命令行启动界面

图片

图 5. TaskWeaver 运行样例

TaskWeaver 是一款全新的 Agent 框架方案,其设计符合数据分析和行业定制场景的需要。通过将用户语言转成程序语言,「与数据对话」将不再是梦想,而是现实。

相关资讯

不能实习?网传MSRA停招国防七子及北邮在校生

美国商务部对实体清单相关对象的限制越来越大了。
4/14/2022 12:14:00 PM
机器之心

时隔27年,微软IE浏览器正式退出历史舞台,一个时代的结束

很遗憾「目睹」IE 浏览器退出历史舞台。
6/16/2022 2:04:00 PM
机器之心

科技巨头持续血拼:微软豪掷数亿造ChatGPT超算,谷歌加急测试Big Bard

近几个月,ChatGPT 爆火出圈,风头无两。人们大多把关注重点放在了 ChatGPT 强大的生成功能和应用场景上,却很少关心模型的应用成本。
3/14/2023 2:14:00 PM
机器之心

微软必应升级:注册就能用,聊天画图两不误,WolframAlpha任你调用

三个月前,微软推出了对话 AI 大模型 ChatGPT 加持的新必应和 Edge 浏览器,使得搜索体验更加多样化且更为方便、高效。必应为用户带来了更好的搜索结果和问题答案,并提供了创造和撰写的能力,通过自然语言聊天将易用性提升到全新水平。
5/5/2023 2:52:00 PM
机器之心

内斗、争夺客户……外媒揭开微软与OpenAI合作另一面

微软和 OpenAI 的合作是目前科技领域最热门的合作之一,但对科技行业来说,这种合作也是一种不寻常的安排。
6/15/2023 2:31:00 PM
机器之心

Mistral AI新模型对标GPT-4,不开源且与微软合作,网友:忘了初心

「欧洲版 OpenAI」的「最强开源大模型」,被微软收编了。生成式 AI 领域,又有重量级产品出现。周一晚间,Mistral AI 正式发布了「旗舰级」大模型 Mistral Large。与此前的一系列模型不同,这次 Mistral AI 发布的版本性能更强,体量更大,直接对标 OpenAI 的 GPT-4。而新模型的出现,也伴随着公司大方向的一次转型。随着 Mistral Large 上线,Mistral AI 推出了名为 Le Chat 的聊天助手(对标 ChatGPT),任何人都可以试试效果。试用链接:,Mi
2/27/2024 3:08:00 PM
机器之心

微软 AI 图片生成器被自家员工举报:可生成有害图像

感谢据 CNBC 报道,一位微软工程师向美国联邦贸易委员会 (FTC) 举报该公司的人工智能图片生成器 Copilot Designer 存在安全隐患。这位名叫 Shane Jones 的工程师在微软工作了六年,他致信 FTC 称,尽管他反复警告 Copilot Designer 可能会生成有害图像,但微软却“拒绝”下架该工具。在测试 Copilot Designer 的安全问题和缺陷时,Jones 发现该工具会生成“与堕胎权术语相关的恶魔和怪物、手持突击步枪的青少年、暴力场景中性化的女性图像以及未成年人饮酒和吸毒
3/7/2024 5:36:50 PM
远洋

微软 Microsoft 365 版 Copilot 4 月 1 日面向高校推出,拥有 A3 / A5 许可证可免费用

微软今日宣布将面向更多的教育用户提供 Copilot 及 AI 工具包,希望为教育工作者提供免费的 AI 功能以节省时间。微软表示,具有商业数据保护功能的 Microsoft Copilot 现已嵌入所有 Microsoft 365 教育产品中,包括零成本许可证,将提供给所有 18 岁及以上的教师和高校学生,并将在今年春季启动针对年轻学生的私人预览计划。微软还表示将为高校用户提供一项新优惠:专为保护学生设备而设计的 Microsoft Defender for Endpoint 将提供折扣价。从 2024 年 4
3/7/2024 7:20:26 AM
问舟

微软 Microsoft Designer 屏蔽特定提示词,避免 Copilot 生成不良价值导向图片

Microsoft Designer 是一款基于 Copilot / DALLE 3.0 的视觉设计应用,可以仅用几个提示词让 AI 为你生成所需图像,还能帮用户去除图片背景,生成个性化贴纸等。CNBC 发现,Microsoft Designer 在遇到一些特定的提示词时,例如“pro-choice”“four twenty” “pro-life”等,会生成一些涉及色情、暴力方面的不良图片,目前这些特定的提示词已经被微软禁用。注:pro life 与 pro choice 是伴随堕胎合法权而产生的一组词,可以理解为
3/9/2024 5:53:33 PM
问舟

微软开始为 Copilot Pro 用户推出创建自定义 GPT 功能

微软 Bing 副总裁 Michael Schechter 表示,微软已经开始面向 Copilot Pro 用户推出 Copilot GPT Builder 功能,允许用户打造属于自己的自定义 AI 机器人。如图所示,微软 Copilot GPT Builder 目前正在分阶段推出,拥有体验资格的 Copilot Pro 用户可以看到一个新的预览功能,点击即可通过自定义配置创建一个个性化 Copilot GPT。微软今年 1 月为 Copilot 推出了一项可选订阅服务 Copilot Pro,每月收费 20 美元
3/9/2024 8:29:06 PM
问舟

微软现为 Copilot Pro 提供一个月免费试用

感谢微软宣布,随着 Pro 版本的扩展,Copilot 将开放给全球更多客户。现在,Copilot Pro 在 Copilot 可用的所有 222 个国家 / 地区均可使用。微软搜索和人工智能营销总经理 Divya Kumar 宣布:“Copilot 是您日常的人工智能伴侣,旨在为工作和生活的每个人带来生成式人工智能的力量。通过 Copilot,我们致力于为每个人提供提升创造力和工作效率的机会。”微软宣布将免费 Microsoft 365 Web 应用中的 Copilot 纳入 Copilot Pro 订阅中,并将
3/15/2024 11:47:30 PM
问舟

微软“背刺”谷歌:训练 AI 上有搜索引擎和 YouTube 两大天然资源优势

欧盟委员会于今年 1 月开始针对 AI 领域展开调查,主要评估科技巨头们是否存在垄断行为。微软在接受问询时为了强调其没有反垄断行为,称谷歌在该领域有两大天然优势,该领域存在竞争。微软在接受欧盟委员会调查时强调,谷歌目前在训练 AI 方面有两大天然优势,其一是搜索引擎提供了海量资源,其二是 YouTube 平台,提供了约 140 亿个视频,谷歌可以利用这些数据训练 Gemini 模型,而其它 AI 开发商却无法访问。IT之家从报道中还获悉,微软为了进一步强调生成式 AI 领域存在竞争,表示谷歌和苹果很早就发力语音助手
3/16/2024 3:13:14 PM
故渊

微软 Win11 Dev / Canary 渠道测试新特性:右键菜单新增 Copilot 按钮,支持文本总结

感谢博主 PhantomOcean 北京时间今日凌晨在 X(推特)上公布了自己的最新发现:微软 Windows 11 的 Dev 和 Canary 渠道正在测试为右键菜单引入 Copilot 按钮,用户可以通过该按钮来完成文本总结等功能。从功能方面来看,该按钮有望支持对各种各样的文档、表格或 PPT、PDF 文件进行总结,另一个子菜单则显示“发送给 Copilot”,预计为图片识别等类型功能。早在今年 1 月初,该爆料者就曾在 Windows 11 Canary Build 26020 和 Windows 11 D
3/18/2024 6:26:22 PM
清源

高层出走,Inflection 公司求变:授权技术给微软、Azure 上托管 Inflection-2.5

根据彭博社报道,Inflection AI 关键领导层加入微软之后,该公司计划将其技术授权给微软。Inflection AI 公司首席执行官穆斯塔法・苏莱曼(Mustafa Suleyman)和首席科学家卡伦・西蒙扬(Karén Simonyan)在内的几位重要领导层近日离职,加入微软公司。Inflection AI 公司随后发布公告,表示会在 Microsoft Azure 上托管 Inflection-2.5,帮助将其提供给世界各地的创作者,并承诺在可以预见的未来,在其他云平台上托管其模型和服务。Inflect
3/21/2024 8:29:18 AM
故渊

Windows 智能助理 Copilot 遭嫌弃,用户要求微软将其移除

微软将智能助理 Copilot 置于 Windows 任务栏正中央的举措遭到了许多用户的强烈反对。在有关 Copilot 图标位置的 Reddit 帖子中,用户们更倾向于将 Copilot 放置在任务栏的最右侧,靠近时钟、通知和显示桌面按钮的位置。微软将 Copilot 作为 Windows 体验核心部分的这一做法遭到了用户群体的普遍抵制。此前,微软曾表示 Copilot 未来盈利潜力巨大,即使目前尚在摸索阶段。在 Reddit 论坛上,用户们纷纷表达了对 Copilot 的不满,其中充斥着诸如“让它从我的电脑里滚
3/25/2024 7:13:39 PM
远洋

微软新 AI 专利获批:帮老板追踪、评估你的工作表现

根据美国商标和专利局(USPTO)公示的清单,微软获得了一项关于人工智能的专利,主要基于员工对文档的处理,帮助老板评估员工的工作表现。微软在专利中概述了一套 AI 系统,收集员工在指定时间内对文档的活动数据,洞察员工修改、删除、添加等操作情况,从而判断员工在工作中是否“摸鱼”,或者努力工作。这项技术的主要目标是确定哪个人对文档(尤其是 OneDrive 等应用程序中的共享文档)的贡献最大,但并不局限于此。微软在该专利中表示,现有技术无法准确描述员工和文档之间的关系,因此无法区分哪些员工只是做了少量编辑,哪些员工对文
3/28/2024 10:54:00 AM
故渊

Copilot 回答直接罗列盗版网站链接,网友调侃:微软引流 Edge 浏览器的“隐藏福利”

网友近日在 Reddit 社区发帖,表示微软旗下的 Copilot 固然不会推广盗版内容,但对于用户的提问可谓是“知无不言”,会直接告诉你盗版软件网站。网友在 Reddit 发帖《微软 Bing 真的是“太好用”了,就是不知道还能持续多久》,根据截图显示,用户只需要在 Bing 中搜索“pirate proxy”,Copilot 能够帮你罗列各种盗版网站链接。IT之家附上截图如下:国外科技媒体 Windows Report 实测,发现使用 Firefox 浏览器访问 Bing,无法生效;但是在 Edge 浏览器中却
3/28/2024 11:08:36 AM
故渊

客户抱怨 Copilot 不如 ChatGPT,微软回应:客户“打开方式不对”

微软的 Copilot AI 和 OpenAI 的 ChatGPT 固然一脉相承,但用户反馈来看,他们更偏向于后者,认为 ChatGPT 更好用。对此微软员工给出的回应是,这些抱怨的用户还不够了解 Copilot,无法充分使用 Copilot 的各项技能。国外媒体 Business Insider 在报道中援引一位微软客服人员的采访内容,表示经常收到用户的反馈,比较 Copilot 和 ChatGPT,然后说:“你们用的不是一样的技术吗?”该微软员工表示目前使用 Copilot 的主要是 Microsoft 365
3/29/2024 10:37:49 AM
故渊
  • 1