-
背景
文章介绍了现有的语言模型(LLMs)框架在处理特定域数据分析任务和拥有丰富数据结构方面的局限性。现有的框架在实现多样化用户需求方面缺乏灵活性。 -
已有的工作 目前的框架主要面临的问题是难以高效处理复杂数据结构(例如嵌套列表、字典或数据框),特别是在跨聊天轮次或插件之间传递信息时。此外,它们缺乏将特定域知识整合进规划和代码生成过程中的配置,导致在满足特定领域需求时面临挑战。此外还包括在插件执行与自定义代码执行之间无法无缝整合,以处理用户的临时查询。
- 提出了一个名为TaskWeaver的代码优先框架
-
挑战1:处理复杂数据结构和跨聊天轮次信息传递 TaskWeaver采用可执行代码转换用户请求,并视用户定义的插件为可调用函数,以支持丰富的数据结构,灵活的插件使用和动态插件选择。
-
挑战2:整合特定域知识 通过示例整合了特定域的知识,保证生成代码的安全执行,并提供了一个用于创建能够处理复杂任务和适应特定域场景的智能对话代理的强大而灵活的框架。
-
TaskWeaver框架包含几个关键组件:规划器、代码生成器(CG)和代码执行器(CE)。它将用户请求转化为可执行代码,并在执行期间保持执行状态。实验结果显示,TaskWeaver在处理各种任务,包括复杂数据结构,并在特定领域适应性方面非常有效。相关代码已在GitHub上开源。
TaskWeaver是为构建基于LLM的自治代理而设计的代码优先框架,实现了对复杂数据的高效处理以及插件的灵活使用,并将特定域知识成功整合入系统中。