Deepseek最近太火了,关于 Deepseek 的文章虽多,但大多局限于 Ollama 部署 Deepseek 这类“玩具”场景,难以满足企业级应用的复杂需求。这些低质量内容往往缺乏深度与实用性,对于追求高效、稳定解决方案的企业而言,犹如隔靴搔痒。
而我们的专业团队,始终关注行业前沿动态,凭借对技术趋势的精准把握和深厚的技术积累,迅速捕捉到企业在 Deepseek 应用中的痛点与需求。在极短的时间内,精心打造出这篇文章。
文章聚焦于企业级应用场景,深度剖析了从云服务器部署到 Dify 配置的全流程,每一个步骤都经过反复验证,确保内容的专业性与准确性。无论是技术细节的深度挖掘,还是实际应用的场景拓展,都远超同类文章。它不仅是一份技术指南,更是企业迈向高效、智能运营的有力工具,为企业在人工智能领域的深度探索提供了高价值的参考。
1. 选择镜像
首先说一下选择什么版本的镜像。满血版R1有671B,需要的卡及存储都太大,我们可以选择DeepSeek-R1-Distill-Qwen-32B作为平替,在精度要求不那么高的场景下部署起来,作为满血版的补充。
然后是选择推理框架。推理框架分为以下几种:
-
Transformers:通过集成 Huggingface 的 Transformers 库作为后端,Xinference 可以最快地 集成当今自然语言处理(NLP)领域的最前沿模型(自然也包括 LLM)。 -
vLLM: vLLM 是由加州大学伯克利分校开发的一个开源库,专为高效服务大型语言模型(LLM)而设计。它引入了 PagedAttention 算法, 通过有效管理注意力键和值来改善内存管理,吞吐量能够达到 Transformers 的 24 倍,因此 vLLM 适合在生产环境中使用,应对高并发的用户访问。 -
SGLang :是一个用于大型语言模型和视觉语言模型的推理框架。基于并增强了多个开源 LLM 服务引擎(包括LightLLM、vLLM和Guidance )的许多优秀设计。SGLang 利用了FlashInfer注意力性能 CUDA 内核。
经实践测试,如果部署满血版R1建议使用SGLang镜像,如果部署蒸馏版模型建议使用vLLM,效果更好。
2. 配置GPU服务器
首先我们选择GPU ECS(我选的是火山引擎,因为火山引擎已缓存推理引擎和模型文件直接拉取速度较快),文件信息如下:
推理引擎镜像:cp-controller-cn-beijing.cr.volces.com/appdeliver-ml/vllm:0.7.1
模型文件:docker run时候会自动下载对应模型文件,如果有手动下载需求,下面链接供参考。
|
|
|
---|---|---|
|
|
https://cp-public-model-cn-beijing.tos-cn-beijing.volces.com/models/DeepSeek-R1-Distill-Qwen-7B/ |
|
|
https://cp-public-model-cn-beijing.tos-cn-beijing.volces.com/models/DeepSeek-R1-Distill-Qwen-32B/ |
|
|
https://cp-public-model-cn-beijing.tos-cn-beijing.volces.com/models/DeepSeek-R1-Distill-Llama-70B/ |
ECS实例的规格可以参考下面配置:
模型名称 | 参数量 |
|
|
|
|
|
---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我选择的服务器配置:

3. 部署环境配置
购买后,进入控制台,安装docker + nvidia container toolkit,具体如下:
-
安装docker:
# Update the apt package index and install packages to allow apt to use a repository over HTTPS
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
# Add Docker’s official GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.ivolces.com/docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Use the following command to set up the repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ivolces.com/docker/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# update package index
sudo apt update
# Install docker-ce
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
安装nvidia-container-toolkit:
curl -s https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub | sudo apt-key add -
cat <<EO[F >/etc/apt/sources.list.d/nvidia.list](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
deb http[://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/ /](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
EOF
apt upda[te](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
apt inst[all nvidia-container-toolkit](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
sudo nvi[dia-ctk runtime configure --runtime=docker](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
sudo sys[temctl restart docker](https://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pub)
4. 部署镜像
接下来正式部署doccker镜像(单机4卡,TP=4,PORT=8888可自定义):
docker run -d --network host --privileged --gpus=all --name=vllm_qwen32B --ipc=host -v /data00/models:/data00/models -v /var/run/nvidia-topologyd/:/var/run/nvidia-topologyd/ -e MODEL_PATH=/data00/models -e PORT=8888 -e MODEL_NAME=DeepSeek-R1-Distill-Qwen-32B -e TP=4 cp-controller-cn-beijing.cr.volces.com/appdeliver-ml/vllm:0.7.1
静等pull完成,然后看到返回compeleted,别急还没加载完成,打开docker日志继续观察:
docker logs vllm_qwen32B
日志输出出如下:

等到完成100%,恭喜你加载完成,docker启动成功了。
5. 服务测试
接下来先服务器内测试下是否启动成功:
执行以下curl 命令,观察到流式生成为模型正常运行,可以进行下一步的模型调用。
curl -X POST [http://0.0.0.0:8888/v1/chat/completions](http://0.0.0.0:6001/v1/chat/completions) -H "Content-Type: application/json" -d '{
"model": ["/data00/models/DeepSeek-R1-Distill-Qwe](http://0.0.0.0:6001/v1/chat/completions)n-32B",
"messages[": [](http://0.0.0.0:6001/v1/chat/completions)
{
"[role": "user",](http://0.0.0.0:6001/v1/chat/completions)
"[content": "请证明一下黎曼猜想"](http://0.0.0.0:6001/v1/chat/completions)
}
],
"stream": [true,](http://0.0.0.0:6001/v1/chat/completions)
"max_toke[ns": 100,](http://0.0.0.0:6001/v1/chat/completions)
"temperat[ure": 0.7](http://0.0.0.0:6001/v1/chat/completions)
}'
提醒:执行curl命令可能会返回 拒绝连接的提示,如下图,可能是权重文件没有下载和加载完毕,可以稍后再重试。

如果你部署在云端,需要调整安全组策略,添加入方向规则开放8888端口。配置完毕,接下来在Postman上调用接口测测看:

可以看到返回中有reasoning_content,R1推理成功。

好,接下来就是集成到应用平台,可以进行对话聊天了。我们用dify做为应用构建平台。
6. 部署Dify
以下安装流程很通用,也可以参考dify官网的说明。
-
系统要求
在安装 Dify 之前,请确保您的机器满足以下最低系统要求:
CPU >= 2 Core
RAM >= 4GB
-
安装Docker以及Docker Compose,此处不赘述,自行百度。 -
克隆 Dify 源代码至本地
git clone [https://github.com/langgenius/dify.git](https://github.com/langgenius/dify.git)
-
启动Dify
cd dify/docker
cp .env.example .env
docker compose up -d
检查是否所有容器都正常运行
docker compose ps
包括3个业务服务api / worker / web,包括6个基础组件weaviate / db / redis / nginx / ssrf_proxy / sandbox。
-
更新Dify
cd dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
==注意:同步环境变量配置 ==
如果 .env.example 文件有更新,请务必同步修改您本地的 .env 文件。
检查 .env 文件中的所有配置项,确保它们与您的实际运行环境相匹配。您可能需要将 .env.example 中的新变量添加到 .env 文件中,并更新已更改的任何值。
-
访问系统
由于项目中启动了一个nginx容器将web服务转发到80端口,您可以直接在浏览器中输入公网IP地址,并设置管理员的账号密码,进入Dify应用主界面。在浏览器中输入 http://localhost 访问 Dify。
7. 集成模型服务
最后一步,配置大模型
选择用户信息下拉列表->设置->模型供应商,选择【OpenAI-API-compatible】模块,配置自定义模型接口。

按照下图格式配置信息,API Key没有就填EMPTY.

保存后,记得在模型列表选择配置按钮,开启模型。
8. 创建应用并发布
最后,创建一个空白应用,在模型列表里选择刚配置的模型即可。

点击发布应用,就可以进入聊天界面啦。

当然,目前与dify的集成还有些问题,比如思考内容不能输出,上下文对话轮次不能调整等。后续待优化。