❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- TaskWeaver 是微软推出的代码优先 AI 代理框架,专注于数据分析任务的规划和执行。
- 该框架通过代码片段解释用户请求,协调插件执行任务,支持复杂的数据结构和自定义算法封装。
- TaskWeaver 提供代码执行前的安全验证,易于调试和扩展,旨在简化用户与技术的交互。
正文(附运行示例)
TaskWeaver 是什么
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 可以作为库导入,以便与现有项目集成,更多信息请参考文档。
资源
- 项目官网:microsoft.github.io/TaskWeaver
- GitHub 仓库:github.com/microsoft/T…
- arXiv 技术论文:arxiv.org/pdf/2311.17…
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦