TaskWeaver:微软推出代码优先的 AI 代理框架,专注于数据分析!

439 阅读3分钟

❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. TaskWeaver 是微软推出的代码优先 AI 代理框架,专注于数据分析任务的规划和执行。
  2. 该框架通过代码片段解释用户请求,协调插件执行任务,支持复杂的数据结构和自定义算法封装。
  3. TaskWeaver 提供代码执行前的安全验证,易于调试和扩展,旨在简化用户与技术的交互。

正文(附运行示例)

TaskWeaver 是什么

taskweaver_arch.png

TaskWeaver 是由微软推出的一个代码优先的智能代理框架,专注于无缝规划和执行数据分析任务。基于代码片段解释用户请求,高效协调各种插件(以函数形式)执行数据分析任务,支持状态化的执行方式。TaskWeaver 支持丰富的数据结构,支持用户封装自定义算法作为插件,整合领域特定知识提高任务执行的可靠性。TaskWeaver 提供代码执行前的安全验证,支持基本的会话管理隔离不同用户数据,且易于调试和扩展。TaskWeaver 旨在简化用户与技术的交互,让用户能用自然语言处理复杂数据分析任务,无需深入了解编程细节。

TaskWeaver 的主要功能

  • 代码生成:将自然语言请求转换为可执行的代码片段。
  • 插件系统:支持用户定义的插件作为可调用函数,扩展功能和处理特定领域的任务。
  • 复杂数据结构支持:处理包括嵌套列表、字典或数据帧等复杂的数据结构。
  • 状态保持:在多次交互中保持执行状态,支持跨会话的数据和状态管理。
  • 安全执行:确保生成的代码在安全的沙盒环境中执行,避免恶意代码的执行。

TaskWeaver 的技术原理

  • 代码优先方法:TaskWeaver 以代码为中心,基于大型语言模型(LLMs)的编码能力实现复杂逻辑。
  • 规划器和代码解释器:系统由规划器(负责任务分解和规划)和代码解释器(负责代码生成和执行)组成。
  • 内存模块:用在维护当前会话的聊天历史和相关信息,支持短期和长期记忆。
  • 角色和插件的概念:用定义角色和插件实现不同的功能和交互,增加系统的灵活性和扩展性。
  • 自我反思和迭代改进:系统能根据执行结果进行自我反思,调整计划并改进代码生成过程。

如何运行 TaskWeaver

安装

TaskWeaver 需要Python >= 3.10。可以通过以下命令安装:

# 克隆仓库
git clone https://github.com/microsoft/TaskWeaver.git
cd TaskWeaver
# 安装依赖
pip install -r requirements.txt

配置 LLMs

在运行 TaskWeaver 之前,需要提供 LLM 配置。以 OpenAI 为例,可以在taskweaver_config.json文件中配置如下:

{
  "llm.api_key": "你的API密钥",
  "llm.model": "模型名称,例如gpt-4"
}

启动 TaskWeaver

命令行界面
# 在克隆的TaskWeaver文件夹中
python -m taskweaver -p ./project/

这将启动 TaskWeaver 进程,并可以通过命令行界面与之交互。

Web 界面

TaskWeaver 还支持 Web 界面,具体请参考Web 界面文档

作为库导入

TaskWeaver 可以作为库导入,以便与现有项目集成,更多信息请参考文档

资源


❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦