概述

DeerFlow (Deep Exploration and Efficient Research Flow) 是一个社区驱动的深度研究框架,它将语言模型与专用工具相结合,用于自动化研究、分析和内容生成。DeerFlow 基于LangGraph的工作流引擎构建,编排多个智能Agent执行从初始查询到最终报告生成的综合研究任务。

一、环境准备

1. 安装基础依赖

# 更新系统

sudo dnf update -y

# 安装必要工具

#若无报错,直接进行步骤2.安装 uv(Python 包管理工具)

sudo dnf install -y git gcc gcc-c++ make curl

sudo dnf install -y python3.12 python3.12-devel 

# python3.12若无法直接安装,即报错如下,可以使用源码安装

# 安装编译依赖

sudo dnf install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make

# 下载 Python 3.12 源码

wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz

# 解压并编译

tar -xzf Python-3.12.4.tgz

cd Python-3.12.4

./configure --prefix=/usr/local/python3.12 --enable-optimizations

make -j$(nproc)

# 使用 altinstall 避免覆盖系统默认 Python

sudo make altinstall  

# 创建软链接

sudo ln -s /usr/local/python3.12/bin/python3.12 /usr/bin/python3.12

sudo ln -s /usr/local/python3.12/bin/pip3.12 /usr/bin/pip3.12

# 验证安装

python3.12 --version

# 输出如下即为安装成功

2. 安装 uv(Python 包管理工具)

# 下载 uv 安装脚本

curl -LsSf https://astral.sh/uv/install.sh | sh

# 将 uv 加入环境变量,编辑 .bashrc 文件

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc

# 使配置生效

source ~/.bashrc

# 验证安装

uv -V

3. 安装 Node.js和nvm

# 安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

source ~/.bashrc

#安装Node.js

方法一:可通过nvm安装node.js
curl -fsSL https://fnm.vercel.app/install | bash

source ~/.rc

fnm install 20

fnm use 20

方法二:直接安装node.js

# 下载node.js源码包

wget https://nodejs.org/dist/v22.7.0/node-v22.7.0-linux-x64.tar.xz

# 解压

tar -xf node-v22..0-linux-x64.tar.xz
sudo mv node-v22.7.0-linux-x64 /usr/local/nodejs

# 添加到环境变量

echo 'export PATH="/usr/local/nodejs/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

# 验证安装

node --version

4. 安装 marp-cli和pnpm

sudo dnf install -y nodejs npm

npm install -g @marp-team/marp-cli

# 安装 pnpm

npm install -g pnpm

二、 获取源码并安装项目依赖

1. 克隆仓库

git clone https://github.com/bytedance/deer-flow.git

cd deer-flow

2. 安装 Python 依赖

uv sync

若是总是报错,可增加超时时间

临时增加 uv 的 HTTP 超时时间(默认 30 秒),例如设置为 300 秒:

UV_HTTP_TIMEOUT=300 uv sync

3. 配置环境变量

# 复制示例配置文件

cp .env.example .env

cp conf.yaml.example conf.yaml

# 编辑环境变量文件(根据需求填写 API 密钥等信息)

vim .env

# 需要配置的主要内容包括:

# 获取Tavily API 密钥:访问https://app.tavily.com,注册账户后,再重新登录即可获取API,将获取到的API复制到以下位置

# Brave 搜索 API 密钥,网址https://brave.com/search/api/(可选)

# 火山引擎 TTS 凭证(可选,用于文本转语音)

# 编辑 LLM 模型配置(以deepseek为例)

vim conf.yaml

# 访问https://www.deepseek.com/,点击右上角的API开放平台,登录后,创建一个API,并将它复制到以下位置

# 配置如下,自行获取大模型API

BASIC_MODEL:

  base_url: https://api.deepseek.com

  model: "deepseek-chat"

  api_key: sk-xxx   # API替换为自己的API

4. 安装 Web UI 依赖(可选)

cd web

pnpm install

cd ..

三、部署项目

方法一: Docker 部署(推荐)

1. 安装 Docker

# 安装 Docker

sudo dnf install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# 查看服务状态
sudo systemctl status docker

# 配置免 sudo 使用 Docker(需重新登录生效)

sudo usermod -aG docker $USER  

2. 构建 Docker 镜像

docker build -t deer-flow-api .

3. 启动容器

# 启动服务并绑定到本地 8000 端口

docker run -d -t -p 127.0.0.1:8000:8000 --env-file .env --name deer-flow-app deer-flow-api

方法二:直接启动服务(非 Docker 方式)

1. 启动后端服务

# 激活虚拟环境

source .venv/bin/activate

# 启动 API 服务

uv run main.py

 

2. 启动 Web UI(可选,需另开终端)

cd web

pnpm dev

3. 同时开启前端和后端

# 在根目录运行脚本启动

./bootstrap.sh

四、 验证部署

后端服务启动后,可访问 http://localhost:8000 验证 API 是否可用

Web UI 启动后,打开浏览器访问:http://服务器IP:3000(本地部署可访问 http://localhost:3000)

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐