欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > DeerFlow安装配置及使用案例

DeerFlow安装配置及使用案例

2025/9/17 4:54:42 来源:https://blog.csdn.net/hejiahao_/article/details/148070519  浏览:    关键词:DeerFlow安装配置及使用案例

DeerFlow安装配置及使用案例

简介

​ DeerFlow项目由字节跳动技术团队发起和主导开发,作为一个开源深度研究框架,于2025年年初正式开源。该项目基于LangStack生态,构建于LangChain与LangGraph的开源技术栈之上,充分利用语言模型和专业的工具集成,目标是推动深度研究工作自动化。其设计思想和技术实现产生于字节跳动内部对高效研究流程的需求,强调社区驱动与贡献回馈。

项目目标

​ DeerFlow旨在提供一个多智能体(Multi-Agent)系统框架,自动化处理复杂的研究任务。通过整合语言模型与网页搜索、爬虫、Python代码执行等多种专用工具,实现端到端自动化的信息采集、分析与报告生成。目标用户包括科研人员、开发者及学生,适合学术研究、市场分析和代码分析等多场景应用。项目力求减少人工干预,提高研究效率,支持动态规划和人机协作。

核心功能

  • 多智能体架构:包括协调器、规划器、研究团队和报告员等模块,分工明确,协作完成复杂任务。
  • 语言模型集成:支持多种大型语言模型接入,包括开源模型与OpenAI API接口,借助litellm库进行统一管理。
  • 网络搜索与爬虫:支持多搜索引擎(如Tavily、DuckDuckGo、Brave Search)以丰富信息源,具备网页爬取能力。
  • Python代码执行环境:可运行代码完成数据处理和分析。
  • 人机协作:允许用户用自然语言实时修改研究计划和生成内容,支持AI辅助的报告编辑和润色。
  • 内容生成:自动生成研究报告,可进一步转化为播客音频和文字版PPT,支持文本到语音(TTS)功能,生成高质量语音内容,借助火山引擎的音色技术。
  • 开发与调试工具:配备LangGraph Studio可视化调试 workflow,Replay系统支持多轮对话快速回放。
  • 跨平台界面:具备Web UI和控制台UI,提升用户体验。

架构

​ DeerFlow 实现了一个模块化的多智能体系统架构,专为自动化研究和代码分析而设计。该系统基于 LangGraph 构建,实现了灵活的基于状态的工作流,其中组件通过定义良好的消息传递系统进行通信。

image-20250519154914458

安装DeerFlow

# 克隆仓库
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

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

cd deer-flow/web
pnpm install

配置

配置.env中的搜索引擎API Key

TAVILY_API_KEY=tvly-xxx

配置conf.yaml中的模型配置

  • conf.yaml
# [!NOTE]
# Read the `docs/configuration_guide.md` carefully, and update the configurations to match your specific settings and requirements.
# - Replace `api_key` with your own credentials
# - Replace `base_url` and `model` name if you want to use a custom modelBASIC_MODEL:base_url: https://ark.cn-beijing.volces.com/api/v3model: "doubao-1-5-pro-32k-250115"api_key: xxxx

安装 Web UI 依赖

cd deer-flow/web
pnpm install

启动

控制台 UI
uv run main.py
Web UI
# 在开发模式下同时运行后端和前端服务器
# 在macOS/Linux上
./bootstrap.sh -d# 在Windows上
bootstrap.bat -d

访问

image-20250519154201117

示例

询问

  • DeerFlow是什么项目?

image-20250519154342791

Start research

  • 开始搜索

image-20250519154437472

  • 总结内容

image-20250519154502931

接入MCP

  • 接一个高德地图的MCP Server
{"mcpServers": {"amap-amap-sse": {"url": "https://mcp.amap.com/sse?key=xxxxx"}}
}
# demo1
我在上海浦东新区浦星公路,我朋友在黄浦区打浦桥地铁站, 请帮我准荐几个离两个人比较近,方便停车的咖啡馆, 并给出咖啡馆的具体信息。
# demo2
我明天需要从上海去杭州特讯网络大厦参加会议,会议时间是明天下午1.30分以及后天9.30   帮我规划下行程住宿

demo1:

image-20250519175034328

demo2:

image-20250519175005657

LangGraph Studio

  • 使用下面命令安装依赖并启动一个基于 LangGraph 的开发服务器
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.12 langgraph dev --allow-blocking
PPT生成
去长沙旅游的介绍

image-20250519175640136

  • 生成的PPT只有文字

image-20250519182115421

Docker

确保.env.conf.yaml文件已准备就绪。

并且web目录下的存在.env文件

cp web/.env.example web/.env

构建镜像

docker compose build

启动

docker compose up

⚠️ 注意:部署到公网时需要在构建前端的时候要在构建参数上填写后端server地址:

比如:docker buildx build --platform linux/amd64 --build-arg NEXT_PUBLIC_API_URL=http://xxxxxx/api -f Dockerfile -t deer-flow:frontend-latest .

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com