描述
TaskWeaver 是一个创新的代理框架,遵循“以代码为中心”的原则,能够无缝地规划和执行数据分析任务。它通过代码片段解释用户请求,并以有状态的方式有效地协调各种插件(本质上是函数)来执行数据分析。TaskWeaver 的一个关键区别在于它不仅能保留与大型语言模型(LLM)的聊天历史记录,还能保留代码执行历史记录,包括内存中的数据。这种全面的历史记录跟踪极大地增强了框架的表达能力,使其特别适合处理高维表格数据等复杂数据结构。
该框架通过其固有的任务分解和进度跟踪能力来处理复杂任务。它支持反射式执行,允许代理审查自身的执行过程并进行必要的调整。TaskWeaver 允许用户使用 Python 中的丰富数据结构,如 DataFrame,超越简单的基于文本的交互。用户还可以将自己的算法封装到插件中,并在框架内进行协调。此外,TaskWeaver 的设计易于整合领域特定知识,以提高可靠性,并确保生成代码的有状态执行,以获得一致的用户体验。它包括代码验证机制,以便在执行前检测并建议修复潜在问题。
TaskWeaver 优先考虑易用性和调试。它提供了示例插件、示例和教程,以便快速上手,提供一种开箱即用的体验,安装后即可立即运行。提供详细透明的日志,帮助用户理解从 LLM 提示到代码生成和执行的整个过程。安全考虑包括基本的会话管理以隔离用户数据,以及将代码执行分离到不同的进程以防止干扰。该框架还设计为易于扩展,支持多个代理作为角色和插件以完成更复杂的任务。欢迎贡献以进一步增强用户体验/用户界面、提示模板管理和异步 LLM 交互等功能。
TaskWeaver的核心功能
面向数据分析的以代码为中心的代理框架
无缝的任务规划和执行
通过代码片段解释用户请求
协调插件(函数)以执行任务
保留聊天历史记录和代码执行历史记录
维护内存中的数据以进行有状态执行
支持 DataFrame 等丰富的数据结构
任务分解和进度跟踪
用于过程调整的反射式执行
将自定义算法封装到插件中
整合领域特定知识
执行前的代码验证
易于使用,提供示例和教程
用于调试的详细透明日志
用于数据分离和进程隔离的安全考虑
TaskWeaver入门
安装:克隆存储库并使用 pip 安装依赖项。
配置:设置 LLM 配置,例如,通过创建 taskweaver_config.json 文件。
执行:通过命令行界面启动 TaskWeaver 或将其作为库集成。
交互:通过命令行或其 Web UI 与 TaskWeaver 进行交互。
开发:通过添加新角色和插件来扩展 TaskWeaver 以处理复杂任务。
TaskWeaver的使用案例
- 数据分析规划
- 代码执行协调
- 有状态代理开发
- 基于插件的任务执行
- 复杂数据结构处理
- 领域特定 AI 代理
- 算法封装








