DeerFlow(Deep Exploration and Efficient Research Flow)是由字节跳动开源的社区驱动深度研究框架。该项目建立在开源社区的杰出工作基础之上,旨在将大语言模型与专业工具相结合,包括网络搜索、爬虫和Python代码执行等功能,同时回馈开源社区。
项目地址: https://github.com/bytedance/deer-flow
DeerFlow实现了模块化多智能体系统架构,专为自动化研究和代码分析而设计。系统基于LangGraph构建,通过明确定义的消息传递系统实现灵活的基于状态的工作流,其中组件之间进行通信。
系统采用简化的工作流,包含以下组件:
执行计划的专业智能体集合:
每个智能体都可以访问针对其角色优化的特定工具,并在LangGraph框架内运行。
uv
、nvm
和 pnpm
# 克隆仓库
git clone https://github.com/bytedance/deer-flow.git
cd deer-flow
# 安装依赖,uv会处理Python解释器和虚拟环境创建,并安装所需包
uv sync
# 配置环境变量
cp .env.example .env
# 配置您的API密钥:
# - Tavily: https://app.tavily.com/home
# - Brave Search: https://brave.com/search/api/
# - volcengine TTS: 如果有的话添加您的TTS凭证
# 配置LLM模型和API密钥
cp conf.yaml.example conf.yaml
# 安装marp用于PPT生成
brew install marp-cli
uv run main.py
# 首先安装Web UI依赖
cd deer-flow/web
pnpm install
# 运行后端和前端服务器(开发模式)
# macOS/Linux
./bootstrap.sh -d
# Windows
bootstrap.bat -d
然后访问 http://localhost:3000 体验Web UI。
DeerFlow支持多种搜索引擎,可在 .env
文件中使用 SEARCH_API
变量进行配置:
配置示例:
# 选择一个: tavily, duckduckgo, brave_search, arxiv
SEARCH_API=tavily
DeerFlow包含文本转语音(TTS)功能,允许您将研究报告转换为语音。此功能使用volcengine TTS API生成高质量音频,支持自定义速度、音量和音调。
curl --location 'http://localhost:8000/api/tts' \
--header 'Content-Type: application/json' \
--data '{
"text": "这是文本转语音功能的测试。",
"speed_ratio": 1.0,
"volume_ratio": 1.0,
"pitch_ratio": 1.0
}' \
--output speech.mp3
# 运行所有测试
make test
# 运行特定测试文件
pytest tests/integration/test_workflow.py
# 运行覆盖率测试
make coverage
# 运行代码检查
make lint
# 格式化代码
make format
DeerFlow使用LangGraph作为其工作流架构。您可以使用LangGraph Studio实时调试和可视化工作流。
# 安装uv包管理器(如果没有的话)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装依赖并启动LangGraph服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
启动服务器后,您可以访问:
# 运行特定查询
uv run main.py "影响医疗保健AI采用的因素有哪些?"
# 使用自定义规划参数运行
uv run main.py --max_plan_iterations 3 "量子计算如何影响密码学?"
# 交互模式运行
uv run main.py --interactive
# 查看所有可用选项
uv run main.py --help
DeerFlow包含人机交互机制,允许您在执行前审查、编辑和批准研究计划:
[ACCEPTED]
接受计划[EDIT PLAN] 添加更多关于技术实现的步骤
)项目包含多个示例报告,展示DeerFlow的功能:
DeerFlow建立在开源社区的杰出工作基础之上,特别感谢:
这些项目体现了开源协作的变革力量,我们很荣幸能在他们的基础上构建DeerFlow。