一. deer-flow是什么?
代码地址:https://github.com/bytedance/deer-flow/tree/main
DeerFlow(Deep Exploration and Efficient Research Flow)是一个社区驱动的深度研究框架,它建立在开源社区的杰出工作基础之上。我们的目标是将语言模型与专业工具(如网络搜索、爬虫和 Python 代码执行)相结合,同时回馈使这一切成为可能的社区。
• 无缝集成 MCP 服务
• 进行深度研究过程并生成包含图像的综合报告
• 基于生成的报告创建播客音频
DeerFlow 实现了一个模块化的多智能体系统架构,专为自动化研究和代码分析而设计。该系统基于 LangGraph 构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。其算法架构如下图所示:
1. 协调器:管理工作流生命周期的入口点
• 根据用户输入启动研究过程
• 在适当时候将任务委派给规划器
• 作为用户和系统之间的主要接口
2. 规划器:负责任务分解和规划的战略组件
• 分析研究目标并创建结构化执行计划
• 确定是否有足够的上下文或是否需要更多研究
• 管理研究流程并决定何时生成最终报告
3. 研究团队:执行计划的专业智能体集合
• 研究员:使用网络搜索引擎、爬虫甚至 MCP 服务等工具进行网络搜索和信息收集。
• 编码员:使用 Python REPL 工具处理代码分析、执行和技术任务。 每个智能体都可以访问针对其角色优化的特定工具,并在 LangGraph 框架内运行
4. 报告员:研究输出的最终阶段处理器
• 汇总研究团队的发现
• 处理和组织收集的信息
• 生成全面的研究报告
二. Deer-Flow的特性
1. 核心能力
🤖 LLM 集成
• 通过litellm支持集成大多数模型
• 支持开源模型如 Qwen
• 兼容 OpenAI 的 API 接口
• 多层 LLM 系统适用于不同复杂度的任务
2. 工具和MCP集成
🔍 搜索和检索
• 通过 Tavily、Brave Search 等进行网络搜索
• 使用 Jina 进行爬取
• 高级内容提取
🔗 MCP 无缝集成
• 扩展私有域访问、知识图谱、网页浏览等能力
• 促进多样化研究工具和方法的集成
3. 人机协作
🧠 人在环中
• 支持使用自然语言交互式修改研究计划
• 支持自动接受研究计划
📝 报告后期编辑
• 支持类 Notion 的块编辑
• 允许 AI 优化,包括 AI 辅助润色、句子缩短和扩展
• 由tiptap提供支持
4. 内容创作
🎙️ 播客和演示文稿生成
• AI 驱动的播客脚本生成和音频合成
• 自动创建简单的 PowerPoint 演示文稿
• 可定制模板以满足个性化内容需求
三. deer-flow实践
1. 拉取代码并创建环境
# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包
uv sync
2. 配置Tavily
# 使用您的API密钥配置.env
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# 火山引擎TTS: 如果您有TTS凭证,请添加
cp .env.example .env
上述图是我.env的配置,主要是配置12行,自己注册获得API_KEY,如下图:
3. 配置大模型
# 为您的LLM模型和API密钥配置conf.yaml
# 请参阅'docs/configuration_guide.md'获取更多详情
cp conf.yaml.example conf.yaml
上图是我conf.yaml的配置,主要是获取api_key,有50万token可以免费试用。
其他安装
# 安装marp用于PPT生成
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli
# 可选,通过pnpm安装 Web UI 依赖:
cd deer-flow/web
pnpm install
4. 使用Web UI, 提供更加动态和引人入胜的交互体验
# 在开发模式下同时运行后端和前端服务器
# 在macOS/Linux上
./bootstrap.sh -d
运行上述代码,代码给出链接:http://localhost:3000,进入下面的页面
点击Get Started就能体验了
5. token消耗情况
使用了三次,生成3了个不同的报告,token使用量大约30w,即每次请求大学消耗10万token。
四. 一个例子
提示词:编写一个武汉的旅游攻略,方便在5月份出游
AI规划结果:
武汉5月旅游攻略信息收集计划
用户需要一份5月份去武汉旅游的攻略,目前没有足够的信息来完成该攻略,需要收集关于武汉5月旅游的多方面信息。
1. 收集武汉5月旅游景点信息
收集武汉5月适合游玩的景点信息,包括景点开放时间、门票价格、游玩项目、特色活动等。同时,了解各景点5月的景色特点、人流量情况以及游玩时的注意事项。
2. 收集武汉5月美食和住宿信息
查找武汉5月的特色美食,包括热门餐厅推荐、招牌菜品、价格范围等。还要收集不同区域的住宿信息,如酒店、民宿的价格、位置、评价、周边配套设施等。
3. 收集武汉5月交通和天气信息
获取武汉5月的天气情况,包括气温范围、降雨概率等,以便准备合适的衣物和装备。同时,了解武汉的公共交通方式、线路、运营时间,以及不同景点之间的交通距离和出行建议。
最后生成了图文表并茂的旅游攻略,简直不要太爽!!!感兴趣的同学赶紧来试试吧~
如果喜欢,欢迎点赞+收藏,微信公众号:AIWorkshopLab