探秘 DeerFlow:字节跳动开源的科研创作魔法盒!

1.前言

字节跳动于2025年5月9日开源了名为DeerFlow的全新Deep Research项目,该项目基于LangStack框架,旨在通过人工智能技术简化科研和内容创作流程。DeerFlow整合了语言模型、网络搜索、爬虫和Python代码执行等多种工具,支持深度研究、MCP集成、AI增强报告编辑以及播客生成等功能。

DeerFlow采用多Agent系统架构,包括协调器、规划器、研究团队和报告生成器等模块,能够实现人机协作和动态任务迭代,显著提升研究效率。例如,其Arxiv搜索功能可快速识别高质量学术资源,而AI驱动的内容创作模块则能自动生成播客脚本、音频合成和演示文稿。

该项目还强调灵活的协作机制,支持团队成员实时共享数据和模型,打破地域限制,促进知识交流。DeerFlow的开源不仅展示了字节跳动在AI领域的技术积累,也为全球研究者和开发者提供了一个高效的研究工具平台。

一张图给大家看一下项目功能特点。

image-20250511164201449

那么如何运行这个项目和体验这个项目呢?今天就带大家体验一下这个项目。

2.DeerFlow 安装和使用

1.环境要求

确保您的系统满足以下最低要求:

  • Python: 版本 3.12+
  • Node.js: 版本 22+

image-20250511154555603

image-20250511154652429

2.安装

# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow# 安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包
uv sync# 使用您的API密钥配置.env
# Tavily: https://app.tavily.com/home
# Brave_SEARCH: https://brave.com/search/api/
# 火山引擎TTS: 如果您有TTS凭证,请添加
cp .env.example .env# 查看下方的"支持的搜索引擎"和"文本转语音集成"部分了解所有可用选项# 为您的LLM模型和API密钥配置conf.yaml
# 请参阅'docs/configuration_guide.md'获取更多详情
cp conf.yaml.example conf.yaml# 安装marp用于PPT生成
# https://github.com/marp-team/marp-cli?tab=readme-ov-file#use-package-manager
brew install marp-cli

我们使用 git 把代码克隆

image-20250511154755031

安装依赖,uv将负责Python解释器和虚拟环境的创建,并安装所需的包

image-20250511154928017

修改配置文件

复制.env.example 变成 .env 同时修改.env相关配置

其中搜索引擎用到了tavily,我们把tavily 的api key填入配置文件,火山引擎TTS 我们目前用不到先不填写,修改后的配置文件内容如下:

# Application Settings
DEBUG=True
APP_ENV=development# Search Engine
SEARCH_API=tavily
TAVILY_API_KEY=tvly-xxx
# JINA_API_KEY=jina_xxx # Optional, default is None# Optional, volcengine TTS for generating podcast
VOLCENGINE_TTS_APPID=xxx
VOLCENGINE_TTS_ACCESS_TOKEN=xxx
# VOLCENGINE_TTS_CLUSTER=volcano_tts # Optional, default is volcano_tts
# VOLCENGINE_TTS_VOICE_TYPE=BV700_V2_streaming # Optional, default is BV700_V2_streaming# [!NOTE]
# For model settings and other configurations, please refer to `docs/configuration_guide.md`

同样我们需要修改 conf.yaml, 这里主要是用到的基础模型,我们换成google gemini2.5pro


BASIC_MODEL:base_url: https://geminicloudflare.duckcloud.fun/v1model: "gemini-2.5-flash-preview-04-17"api_key: xxxx

以上我们就完成 DeerFlowa环境安装和基础配置

可选,通过pnpm安装Web UI依赖:

cd deer-flow/web
pnpm install

image-20250511160236704

3.控制台UI

接下来我们使用控制台UI启动程序页面访问

uv run main.py

image-20250511160638323

这样我们就可以通过交互方式 提问题了。

我的问题

GitHub上最热门的仓库有哪些?

image-20250511160801685

最后搜索的结果

image-20250511161029508

控制台的确给我搜索,这里大家觉的这种交互方式不好看,我们可以使用Web UI方式

4.Web UI

在windows平台上,我们启动一个叫做bootstrap.bat 文件

image-20250511160948318

image-20250511161333910

image-20250511161345162

我们在浏览器中输入http://localhost:3000

image-20250511161435115

看到上面页面就可以实现访问了。

image-20250511161520565

我们先拿官方的例子

撰写关于南京传统美食的文章

image-20250511161711075

这个效果明显比控制台的输出效果强很多, 还有搜索的图片信息。

最终生成的来的报告(报告有点长我只截图一部分)

image-20250511161850274

还可以生成播客,由于我上面火山引擎没有配置TTS 所以声音出不来(大家可以自己去配置体验一下)

image-20250511162042036

image-20250511162104060

3.总结

DeerFlow的发布标志着字节跳动在AI技术与开源领域的进一步深耕。作为一款开源框架,DeerFlow不仅为用户提供了一个强大的研究工具,也为开源社区注入了新的活力。未来,随着更多开发者参与其中,DeerFlow有望成为深度研究和自动化分析领域的重要工具,并推动相关技术的持续进步。感兴趣的小伙伴可以按照上面步骤自己部署体验一下。今天的分享就到这里结束了,我们下一篇文章见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习第十一讲:标准化 → 把厘米和公斤单位统一成标准值

机器学习第十一讲:标准化 → 把厘米和公斤单位统一成标准值 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 一、买菜…

less中使用 @supports

在Less中使用supports supports 是CSS的条件规则,用于检测浏览器是否支持特定的CSS属性或值。在Less中,你可以像在普通CSS中一样使用supports,同时还能利用Less的特性来增强它。 基本用法 /* 检测浏览器是否支持display: flex */ supports …

LeetCode Hot100 (1/100)

目录 一、有关数组和动态数组的排序(sort函数) 1.普通数组的排序 基本用法 降序排序 2.vector的排序 基本用法 降序排序 二、数组长度和一些vector的基本语法 1. 静态数组长度计算​ 2. 安全获取数组长度(C17 起)​ 3.vecto…

通过MCP让LLM调用系统接口

场景 MCP的出现大大丰富了LLM的功能,对于存量系统,我们希望能让模型调用已有的接口,以最小的成本让AI能够获取系统内部数据。因此我们开发了一个名为http-api-call的MCP Server,来支持模型到内部API的调用 实现方案 使用用标准…

基于Transformer的多资产收益预测模型实战(附PyTorch实现与避坑指南)

基于Transformer的多资产收益预测模型实战(附PyTorch模型训练及可视化完整代码) 一、项目背景与目标 在量化投资领域,利用时间序列数据预测资产收益是核心任务之一。传统方法如LSTM难以捕捉资产间的复杂依赖关系,而Transformer架构通过自注意力机制能有效建模多资产间的联…

养生:打造健康生活的全方位策略

在生活节奏不断加快的当下,养生已成为提升生活质量、维护身心平衡的重要方式。从饮食、运动到睡眠,再到心态调节,各个方面的养生之道共同构建起健康生活的坚实基础。以下为您详细介绍养生的关键要点,助您拥抱健康生活。 饮食养生…

轻型汽车鼓式液压制动器系统设计

一、设计基础参数 1.1 整车匹配参数 参数项数值范围整备质量1200-1500kg最大设计车速160km/h轮胎规格195/65 R15制动法规要求GB 12676-2014 1.2 制动性能指标 制动减速度:≥6.2m/s(0型试验) 热衰退率:≤30%(连续10…

无法更新Google Chrome的解决问题

解决问题:原文链接:【百分百成功】Window 10 Google Chrome无法启动更新检查(错误代码为1:0x80004005) google谷歌chrome浏览器无法更新Chrome无法更新至最新版本? 下载了 就是更新Google Chrome了

【AAAI 2025】 Local Conditional Controlling for Text-to-Image Diffusion Models

Local Conditional Controlling for Text-to-Image Diffusion Models(文本到图像扩散模型的局部条件控制) 文章目录 内容摘要关键词作者及研究团队项目主页01 研究领域待解决问题02 论文解决的核心问题03 关键解决方案04 主要贡献05 相关研究工作06 解决…

Kuka AI音乐AI音乐开发「人声伴奏分离」 —— 「Kuka Api系列|中文咬字清晰|AI音乐API」第6篇

导读 今天我们来了解一下 Kuka API 的人声与伴奏分离功能。 所谓“人声伴奏分离”,顾名思义,就是将一段完整的音频拆分为两个独立的轨道:一个是人声部分,另一个是伴奏(乐器)部分。 这个功能在音乐创作和…

Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码

Idea 设置编码UTF-8 Idea中 .properties 配置文件中文乱码 一、设置编码 1、步骤: File -> Setting -> Editor -> File encodings --> 设置编码二、配置文件中文乱码 1、步骤: File -> Setting -> Editor -> File encodings ->…

Xilinx FPGA PCIe | XDMA IP 核 / 应用 / 测试 / 实践

注:本文为 “Xilinx FPGA 中 PCIe 技术与 XDMA IP 核的应用” 相关文章合辑。 图片清晰度受引文原图所限。 略作重排,未整理去重。 如有内容异常,请看原文。 FPGA(基于 Xilinx)中 PCIe 介绍以及 IP 核 XDMA 的使用 N…

sqli—labs第六关——双引号报错注入

一:判断输入类型 首先测试 ?id1,?id1,?id1",页面回显均无变化 所以我们采用简单的布尔测试,分别测试数字型,单引号,双引号 然后发现,只有在测试到双引号注入的时候符合关键…

【TroubleShoot】禁用Unity Render Graph API 兼容模式

使用Unity 6时新建了项目,有一个警告提示: The project currently uses the compatibility mode where the Render Graph API is disabled. Support for this mode will be removed in future Unity versions. Migrate existing ScriptableRenderPasses…

图形学、人机交互、VR/AR、可视化等领域文献速读【持续更新中...】

(1)笔者在时间有限的情况下,想要多积累一些自身课题之外的新文献、新知识,所以开了这一篇文章。 (2)想通过将文献喂给大模型,并向大模型提问的方式来快速理解文献的重要信息(如基础i…

Hadoop-HDFS-Packet含义及作用

在 HDFS(Hadoop Distributed File System)中,Packet 是数据读写过程中用于数据传输的基本单位。它是 HDFS 客户端与数据节点(DataNode)之间进行数据交互时的核心概念,尤其在写入和读取文件时,Pa…

显示的图标跟UI界面对应不上。

图片跟UI界面不符合。 要找到对应dp的值。UI的dp要跟代码里的xml文件里的dp要对应起来。 蓝湖里设置一个宽度给对应上。然后把对应的值填入xml. 一个屏幕上的图片到底是用topmarin来设置,还是用bottommarin来设置。 因为第一节,5,7 车厢的…

【taro3 + vue3 + webpack4】在微信小程序中的请求封装及使用

前言 正在写一个 以taro3 vue3 webpack4为基础框架的微信小程序,之前一直没有记咋写的,现在总结记录一下。uniapp vite 的后面出。 文章目录 前言一、创建环境配置文件二、 配置 Taro 环境变量三、 创建请求封装四、如何上传到微信小程序体验版1.第二…

LeetCode:513、找树左下角的值

//递归法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* t…

采用均线策略来跟踪和投资基金

策略来源#睿思量化#小程序 截图来源#睿思量化#小程序 在基金投资中,趋势跟踪策略是一种备受关注的交易方法。本文将基于两张关于广发电子信息传媒股票 A(代码:005310)的图片资料,详细阐述这一策略的应用与效果。 从第…