openEuler24.03部署DeerFlow
概述
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)

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



所有评论(0)