基于 Web 客户端搭建 DeepSeek-R1 + 私有知识库
自2月7日,七牛云官宣全面集成 deepseek-r1模型以来,我们用户最关心的问题是:“如何搭建我们公司的知识库啊?”
为此,七牛工程师结合实战经验,从易搭、易用、实惠等角度出发,整理了一份部署建议:申请七牛云云主机 -→ 部署ollama/vllm deepseek-r1模型 +open-webui 服务 -→ 基于openwebui创建您的知识库 -→ 实现RAG(增强检索生成)。
按照本方案提供的方式完成部署后,会在云服务器上搭建一个如下图所示的运行环境。实际部署时,您可根据具体的资源规划调整部分配置。
下面,详细介绍下deepseek-r1模型的部署和基于open-webui的知识库构建。
一、部署deepseek-r1 + open-webui
1. docker镜像一键部署:open-webui + deepseek-r1模型
# 启动镜像 将会从指定服务器中下载镜像 并运行一个容器 在浏览器地址栏输入<IP>:8000即可访问到open-webui的网页界面
# 初次运行容器时 需要等待模型下载完毕后 才能开始正常对话
# 7B模型
docker run --gpus all -p 8000:8080 -it registry-aigc.qiniu.io/miku-aigc/deepseek7b_ollama_lite_openwebui:0.2.0
# 8B模型
docker run --gpus all -p 8000:8080 -it registry-aigc.qiniu.io/miku-aigc/deepseek8b_ollama_lite_openwebui:0.2.0
# 14B模型
docker run --gpus all -p 8000:8080 -it registry-aigc.qiniu.io/miku-aigc/deepseek14b_ollama_lite_openwebui:0.2.0
# 32B模型
docker run --gpus all -p 8000:8080 -it registry-aigc.qiniu.io/miku-aigc/deepseek32b_ollama_lite_openwebui:0.2.0
# 70B模型
docker run --gpus all -p 8000:8080 -it registry-aigc.qiniu.io/miku-aigc/deepseek70b_ollama_lite_openwebui:0.2.0
2. 手动安装: 先部署deepseek-r1模型,后启动open-webui服务
2.1 部署deepseek模型服务:ollama 或 vllm
- ollama部署方式
# 1. 安装ollama
curl -fsSL https://ollama.com/install.sh | sh
# 2. 配置ollama ip为广播地址 (如下图所示)
vim /etc/systemd/system/ollama.service
Environment="OLLAMA_HOST=0.0.0.0"
# 3.运行模型,以14b蒸馏模型为例,也可以其他32b、70b...模型
ollama run deepseek-r1:14b or ollama run deepseek-r1:32b
- vllm部署方式
# 安装vllm
pip install vllm
# 运行模型:
# --api-key参数为服务访问所需的密钥,后续会用到
# --tensor-parallel-size 参数和单机所使用的显卡数保持一致
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-14B --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager --api-key deepseek-d-14b
# 报错解决
# 如果设备不支持bf16数据格式,需要改成fp16,添加–dtype=half 参数
2.2 启动open-webui
# 安装open-webui
pip install open-webui
# 启动open-webui
open-webui serve
浏览器输入<IP>:<PORT>
,进入注册页面,注册管理员账户并登陆;其次,配置模型(需以管理员账户登陆),再打开配置面板:
2.3 open-webui配置deepseek-r1模型
根据部署的服务为ollama还是vllm,选择相应的配置方式
配置ollama模型
配置vllm模型
3. 进行对话
docker一键部署或手动安装后,可以通过open-webui提供的web客户端直接访问达模型,进行推理,对话。
二、知识库的创建和使用
即可以通过 open-webui 提供的 web 客户端,也可以通过 API 方式使用
2.1 基于web客户端
2.1.1 添加知识库
2.1.2 使用知识库
方式一:用#
使用对应知识库,再输入需要提问的信息
方式二:新增一个绑定了知识库的模型,然后在使用时,选择对应的模型,再进行提问
添加知识库前后对比如下:
2.2 API方式
为了确保安全访问 API,需要进行身份验证,从Open WebUI 中的“设置”>“帐户”获取您的 API 密钥,或者使用 JWT(JSON Web Token)进行身份验证。
2.2.1 获取通过 Open WebUI 创建或添加的所有模型
# YOUR_API_KEY 填写上面查到的API密钥
# localhost:8000 其中localhost改为对应的ip地址,8000改为对应的端口号
curl -H "Authorization: Bearer YOUR_API_KEY" http://localhost:8000/api/models
2.2.2 发起聊天
curl -X POST http://localhost:8000/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-UD-IQ1_M:latest",
"messages": [
{
"role": "user",
"content": "你是谁?"
}
]
}'
2.2.3 添加知识库
# 1.创建知识库并记录返回的知识库ID,记为{knowledge_id}
curl -X POST http://localhost:8000/api/v1/knowledge/create \
-H "Authorization: Bearer Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "API知识库",
"description": "通过API创建"
}'
# 2.上传外部数据文件并记录返回的文件ID
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" -H "Accept: application/json" \
-F "file=@/path/to/your/file" http://localhost:8000/api/v1/files/
# 3.将文件添加进知识库,用到第1步中的{knowledge_id}和第2中返回的文件ID
curl -X POST http://localhost:8000/api/v1/knowledge/{knowledge_id}/file/add \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_id": "your-file-id-here"}'
2.2.4 根据单个文件或者知识库进行聊天
# 1.查询利用单个文件来增强响应,需要用到上一步中的文件ID
curl -X POST http://localhost:8000/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-UD-IQ1_M:latest",
"messages": [
{"role": "user", "content": "你是谁."}
],
"files": [
{"type": "file", "id": "your-file-id-here"}
]
}'
# 2.查询利用知识集合来增强响应,需要用到上一步中的知识库ID
curl -X POST http://localhost:8000/api/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-UD-IQ1_M:latest",
"messages": [
{"role": "user", "content": "你是谁."}
],
"files": [
{"type": "collection", "id": "{knowledge_id}"}
]
}'
三、附录
相关链接:
- DeepSeek 官方网站: https://www.deepseek.com
- Open WebUI 官方网站: https://openwebui.com
- GPU 主机购买连接: 立即购买