点击上方👆蓝字关注我们!
DeepSeek 是由中国 AI 初创公司深度求索(DeepSeek)发布的大语言模型。其主要的开源模型包含:
- DeepSeek-V3 :通用大语言大模型(MoE 结构,671B 参数,激活参数 37B),在 14.8T token 上进行了预训练,可以提供信息检索、数据分析、自然语言处理等服务,能够适应多种应用场景,如客户服务、教育辅导、内容创作等;
- DeepSeek-R1 :基于 DeepSeek-V3-Base 训练生成的推理模型,擅长数学、代码和自然语言推理等复杂任务,能够在复杂环境中稳定运行并完成指定任务,适用于工业自动化、家庭服务机器人等领域;
- DeepSeek-R1-Distill :基于 DeepSeek-R1 生成的 800K 样本对原开源模型进行微调得到的新模型,适合资源受限的场景,相比 DeepSeek-R1 具有更小的体积和更低的能耗,同时保持较高的性能,便于部署在更多样化的设备上。
本文将介绍 三种 在火山引擎云上快速部署 DeepSeek-R1-Distill 模型服务的方案:
-
基于 GPU 云服务器、容器服务 VKE、持续交付 CP 的云原生化 AI 部署方案,可以为模型提供更强的水平扩展能力;
-
基于函数服务 veFaaS 的 Serverless 化方案,优势是具备更强的灵活性和便捷性;
-
基于开源 Terraform 的一键部署方案,用户只需复制脚本代码并执行,即可安全、高效地完成基于 ECS 的部署。
方案一:容器化部署
在企业级生产环境中,将容器与 AI 技术相结合可以显著缩短大模型服务的打包和部署的流程,同时实现计算资源的快速部署和灵活调度。 火山引擎容器服务 VKE 通过深度融合新一代云原生技术,提供以容器为核心的高性能 Kubernetes 容器集群管理服务,可以被用户用于快速构建容器化的 AI 应用。
Step1:创建 VKE 集群
在正式部署 DeepSeek-R1-Distill 模型推理服务前,我们需要先完成 VKE 集群的创建:进入火山引擎容器服务 VKE 工作台: https://console.volcengine.com/vke ,创建托管集群(如下图所示),网络模型建议选择 VPC-CNI:
通过内外资源共池,火山引擎能为用户提供海量高弹性、高性价比的算力产品,覆盖丰富型号,以满足企业在依托 AI 技术进行数智化转型过程中对算力的需求。在大模型服务部署场景下,我们推荐使用不同的 GPU ECS 来实现更高的性价比,以 DeepSeek-R1-Distill 为例,下面是对节点配置的一些推荐建议(用户也可以选择整机 8 卡机型运行多个容器的方式来部署模型):
注:如需使用 ecs.gni3cg/ecs.gni3cl/ecs.pni3l,欢迎联系客户经理申请
最后,在创建集群过程中,我们需要选择组件配置,这里要额外选择 csi-tos 和 nvidia-device-plugin 两个组件进行安装(相关文档: https://www.volcengine.com/docs/6460/101014 ):
Step2:创建部署集群
和此前 FLUX.1、Stable-Diffusion-WebUI 的部署流程类似,在本方案中,我们仍将使用火山引擎持续交付 CP 的 AI 应用功能,它提供预置模板,集成了主流的 AI 框架,封装了操作系统、AI 框架、依赖库等应用环境,可以完成 DeepSeek-R1-Distill 在刚刚创建的容器服务中的快速部署,大幅降低开发难度。
- 打开火山引擎持续交付产品工作台: https://console.volcengine.com/cp ,在左侧菜单栏选择 “资源管理-部署资源”,点击“创建部署资源”:
- 在创建部署资源表单中,“接入类型”选择“容器服务 VKE”;地域以及部署集群选中刚刚我们创建的部署 VKE 集群;共享范围选择所有工作区:
Step3:创建 AI 应用
- 基础信息配置:在持续交付 CP 工作台左侧菜单栏选择“AI 应用”(邀测功能,欢迎联系客户经理申请),点击“创建应用”:
- 在应用创建表单中,选择“自定义创建”:
- 完成应用名、部署集群配置。需要注意的是,这里的部署集群需要选择上面创建的部署集群:
- 完成启动镜像和模型的配置。针对 DeepSeek-R1-Distill,这里我们可以选择 SGLang 镜像进行部署;模型可以直接选择 “官方模型”中的 DeepSeek-R1-Distill,挂载路径配置为 “/model”:
其中,SGLang 默认的启动命令如下所示,用户也可以根据实际推理服务的需求,对默认启动命令做修改。
python3 -m sglang.launch_server --model-path /model --context-length 2048 --trust-remote-code --host 0.0.0.0 --port 8080
- 完成推理服务规格配置。实例数选择 1,根据不同参数量的 DeepSeek-R1-Distill,我们可以选择不同的配置,下表是一些推荐建议:
到这里,我们成功触发了 AI 应用部署,等待约 5 分钟左右,属于你的 DeepSeek-R1-Distill 服务就部署完成了。
Step4:创建负载均衡访问推理服务
火山引擎负载均衡 CLB 是一种将访问流量按策略分发给多台后端服务器的服务,可以扩展系统对外服务能力,消除单点故障,从而提高系统的整体可用性。这里我们使用负载均衡 CLB 来对外暴露服务。
- 在 AI 应用页面,点击 “访问设置”:
- 选择“添加负载均衡”,可以根据需求选择 “公网”或者“内网”,这里以公网为例。选择一个公网 CLB,如果没有公网 CLB,可以点击“创建负载均衡”:
- 在创建负载均衡时, 私有网络配置必须和之前创建 VKE 集群使用同一个私有网络 :
- 完成创建后,选中该负载均衡,完成端口配置,容器端口和之前应用的端口保持一致即可:
- 完成上述操作后,即可在“访问设置”页面看到公网 IP:
到这里,我们就正式完成了 DeepSeek-R1-Distill 的部署和对外暴露,我们可以通过本地 curl 命令(如下方所示)调用 API 来体验大模型的问答能力:
curl -X POST http://你的负载均衡IP/v1/chat/completions -H "Content-Type: application/json" -d '{ \
"model": "/models", \
"messages": [ \
{ \
"role": "user", \
"content": "你对DeepSeek的提问" \
} \
],
"stream": false,
"temperature": 0.7
}'
方案二:Serverless 化部署
本文推荐的第二种方案是通过 Serverless 化的方式轻量化部署。火山引擎函数服务 veFaaS 是事件驱动的 Serverless 全托管计算平台,通过它,用户在部署 DeepSeek-R1-Distill 时可以无需关心底层资源的运维、自动伸缩,编写代码并上传即可以弹性、安全、可靠的方式运行,且只需为实际运行资源和调用次数付费,代码不运行即不产生任何费用,非常适合对业务敏捷、灵活度要求较高的场景。
如果我们希望通过函数服务 veFaaS 部署 DeepSeek-R1-Distill,一般需要做好以下前置准备:
- 本地开发环境 :
- 有 Docker Desktop 或者 Docker: https://www.docker.com/get-started/
- 【可选】本地安装了 ollama 命令行工具: https://ollama.com/download
- 火山引擎账户在 cn-beijing 区域开通了如下服务:
- 函数服务 veFaaS (用于执行 Ollama 推理服务): https://console.volcengine.com/vefaas ,并且开通了 Serverless GPU 功能的邀测
- API 网关: https://console.volcengine.com/veapig
- 【可选】对象存储 TOS: https://console.volcengine.com/tos
Step1:创建 Ollama 模型推理服务
- 进入火山引擎函数服务 veFaaS 工作台: https://console.volcengine.com/vefaas ,创建「Web 应用」,如下图所示;其中部署方式选择公共镜像部署的 Ollama 镜像模板,计算模式选择 GPU 加速(邀测功能,可联系客户经理申请):
- 创建完成后,点击右上角发布按钮,完成服务部署:
Step2:创建 API 网关接入点
火山引擎 API 网关 APIG 是基于云原生的、高扩展、高可用的云上网关托管服务。在传统流量网关的基础上,APIG 集成丰富的服务发现和服务治理能力,打通微服务架构的内外部网络,可以帮助用户快速实现各服务之间、服务与客户端之间的安全通信。这里我们通过 APIG 来暴露 DeepSeek-R1-Distill 服务。
- 进入火山引擎 API 网关 APIG 的工作台: https://console.volcengine.com/veapig ,创建 API 网关实例。方便起见可以选择创建 Serverless 网关,作为测试接入点:
- API 网关实例创建完成后,新建网关服务,对外暴露公网域名接入点:
- 回到火山引擎 veFaaS 控制台,在 veFaaS 界面,选择刚才创建的 API 网关实例与服务,创建 API 网关触发器:
Step3:本地使用 open-webui 测试
在这一步中,我们使用开源项目 open-webui ( https://github.com/open-webui/open-webui ) 本地启动前端控制台,访问 Step2/Step3 中配置的 Ollama 服务。
值得注意的是,启动参数中,我们需要:
- 指定 open-webui 使用 ollama 作为推理后端,并指定了 ollama 后端地址;
- 禁用了 openAI API 的访问;
- 禁用了访问鉴权(方便测试);
- 禁用了 open-webui 中自带的 embedding 模型、whisper 模型的自动更新。
本地启动命令(需要在本地安装 Docker Desktop):
docker run -p 3000:8080 \ -v open-webui:/app/backend/data \
--name open-webui-new \
--restart always \
--env=OLLAMA_BASE_URL=[此处替换为Step3 API 网关 地址] / \
--env=ENABLE_OPENAI_API=false \
--env=ENABLE_WEBSOCKET_SUPPORT=false \
--env=ENABLE_RAG_WEB_SEARCH=true \
--env=RAG_WEB_SEARCH_ENGINE=duckduckgo \
--env=WEBUI_AUTH=false \
--env=RAG_RERANKING_MODEL_AUTO_UPDATE=false \
--env=WHISPER_MODEL_AUTO_UPDATE=false \
--env=RAG_EMBEDDING_MODEL_AUTO_UPDATE=false \
ghcr.io/open-webui/open-webui:main
在本地浏览器中访问 localhost:3000
(可选)Step4:添加并使用其他模型
公共镜像中自带 DeepSeek-R1-Distill-Qwen-1.5B 模型,如果希望使用其他 DeepSeek 蒸馏模型版本,可自行将模型下载到 TOS 对象存储,挂载到函数服务对应路径。
- Ollama 模型可参考: https://ollama.com/library ;此处以 DeepSeek-R1-Distill-Qwen-7B 为例:
ollama run deepseek-r1:7b
你好!很高兴见到你,有什么我可以帮忙的吗?无论是问题、建议还是闲聊,我都在这儿为你服务。😊 >>>你好
⠧
➜ ls -lb ~/.ollama/models
total 0
drwxr-xr-x@ 22 bytedance staff 704B Feb 6 13:49 blobs/
drwxr-xr-x@ 3 bytedance staff 96B Feb 3 23:45 manifests/
- 函数服务挂载对象存储可参考 https://www.volcengine.com/docs/6662/1222882 ;需要注意 AKSK 需要有 TOS 存储桶读写权限:
- 挂载完成后需设置环境变量 OLLAMA_MODELS 为模型挂载路径。挂载和环境变量更新重新发布生效:
- 重复 Step3 本地测试步骤,可以看到多个模型选项:
方案三:Terraform 一键部署
Terraform 是一款开源基础设施即代码(IaC)工具,专注于帮助用户通过声明式配置文件自动化创建、管理和版本化云基础设施资源,已支持 300+ 云服务商,方便用户通过单一工具实现多云架构的统一编排。
火山引擎通过多年积极拥抱开源生态,已与 Terraform 做了大量集成,支持用户通过 Terraform 编排火山引擎上的多种云资源,所以我们也推荐使用 Terraform 脚本自动化创建所需的云资源,并自动运行命令,完成 DeepSeek 的一键部署。
Step1:Terraform 环境准备
首先,我们需要完成 Terraform 的安装并初始化使用环境,为后续通过 Terraform 一键部署 DeepSeek-R1-Distill 做好准备。
Terraform 是以二进制可执行文件发布,我们只需下载官方 Terraform,并将 Terraform 可执行文件所在目录添加到系统环境变量 PATH 中即可,具体步骤可参考: https://www.volcengine.com/docs/6706/101977 。
Step2:创建并执行 Terraform 脚本
创建
main.tf
文件,将下述代码粘贴至
main.tf
,修改
ecs\_instance
中的实例登陆密码
password
,执行
terraform init
,再执行
terraform apply
,等待执行完毕即可。
需要注意的是,模型下载时间与 ECS 所在 region 相关,将 ECS 实例和镜像/模型存储位置选择为同一 region 可显著加快镜像/模型下载速度。当前演示脚本针对 cn-beijing 做演示,如果用户需要切换 region,请修改 main.tf 中的 zone_id 参数和执行脚本中的 region 相关参数。
terraform {
required_providers {
volcengine = {
source = "volcengine/volcengine"
version = "0.0.159"
}
}
}
resource "volcengine_vpc" "foo" {
vpc_name = "acc-test-vpc"
cidr_block = "172.16.0.0/16"
}
resource "volcengine_subnet" "foo" {
subnet_name = "acc-test-subnet"
cidr_block = "172.16.0.0/24"
zone_id = "cn-beijing-c"
vpc_id = volcengine_vpc.foo.id
}
data "volcengine_images" "foo" {
image_name = "Ubuntu 20.04 with GPU Driver 535.154.05 and mlx 5.8-3"
}
resource "volcengine_security_group" "foo" {
security_group_name = "acc-test-security-group"
vpc_id = volcengine_vpc.foo.id
}
resource "volcengine_security_group_rule" "foo" {
direction = "egress"
security_group_id = "${volcengine_security_group.foo.id}"
protocol = "tcp"
port_start = 22
port_end = 8080
cidr_ip = "0.0.0.0/0"
}
resource "volcengine_security_group_rule" "foo1" {
direction = "ingress"
security_group_id = "${volcengine_security_group.foo.id}"
protocol = "tcp"
port_start = 22
port_end = 8080
cidr_ip = "0.0.0.0/0"
}
resource "volcengine_ecs_instance" "foo" {
instance_name = "deepseek一键部署"
description = "acc-test"
host_name = "acc-test"
image_id = data.volcengine_images.foo.images[0].image_id
instance_type = "ecs.gni3cg.5xlarge"
password = "*********" #实例登录密码
instance_charge_type = "PostPaid"
system_volume_type = "ESSD_FlexPL"
system_volume_size = 500
user_data = "IyEvYmluL2Jhc2gKCiMg5a6a5LmJ6L6T5Ye65paH5Lu26Lev5b6EClJFU1VMVF9GSUxFPSIvaG9tZS9yZXN1bHQiCgojIOWIm+W7uuaWh+S7tu+8iOWmguaenOaWh+S7tuS4jeWtmOWcqO+8ie+8jOW5tua4heepuuaWh+S7tuWGheWuuQp0b3VjaCAkUkVTVUxUX0ZJTEUKZWNobyAiIiA+ICRSRVNVTFRfRklMRQoKIyDmm7TmlrAgYXB0IOWMhQplY2hvICJSdW5uaW5nIGFwdCB1cGRhdGUuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCB1cGRhdGUgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg5a6J6KOF5b+F6KaB55qE5YyFCmVjaG8gIkluc3RhbGxpbmcgcmVxdWlyZWQgcGFja2FnZXMuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcyBjdXJsIGdudXBnIGxzYi1yZWxlYXNlID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOWIm+W7uuWvhumSpeebruW9lQplY2hvICJDcmVhdGluZyBkaXJlY3RvcnkgZm9yIGFwdCBrZXlyaW5ncy4uLiIgPj4gJFJFU1VMVF9GSUxFCnN1ZG8gbWtkaXIgLXAgL2V0Yy9hcHQva2V5cmluZ3MgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6I635Y+WIERvY2tlciDnmoQgR1BHIOWvhumSpQplY2hvICJGZXRjaGluZyBEb2NrZXIgR1BHIGtleS4uLiIgPj4gJFJFU1VMVF9GSUxFCmN1cmwgLWZzU0wgaHR0cHM6Ly9taXJyb3JzLml2b2xjZXMuY29tL2RvY2tlci9saW51eC91YnVudHUvZ3BnIHwgc3VkbyBncGcgLS1kZWFybW9yIC1vIC9ldGMvYXB0L2tleXJpbmdzL2RvY2tlci5ncGcgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6YWN572uIERvY2tlciDku5PlupMKZWNobyAiQWRkaW5nIERvY2tlciByZXBvc2l0b3J5Li4uIiA+PiAkUkVTVUxUX0ZJTEUKZWNobyAiZGViIFthcmNoPSQoZHBrZyAtLXByaW50LWFyY2hpdGVjdHVyZSkgc2lnbmVkLWJ5PS9ldGMvYXB0L2tleXJpbmdzL2RvY2tlci5ncGddIGh0dHBzOi8vbWlycm9ycy5pdm9sY2VzLmNvbS9kb2NrZXIvbGludXgvdWJ1bnR1ICQobHNiX3JlbGVhc2UgLWNzKSBzdGFibGUiIHwgc3VkbyB0ZWUgL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvZG9ja2VyLmxpc3QgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg5pu05pawIGFwdCDlubblronoo4UgRG9ja2VyCmVjaG8gIlVwZGF0aW5nIGFwdCBhbmQgaW5zdGFsbGluZyBEb2NrZXIuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCB1cGRhdGUgPj4gJFJFU1VMVF9GSUxFIDI+JjEKc3VkbyBhcHQgaW5zdGFsbCAteSBkb2NrZXItY2UgZG9ja2VyLWNlLWNsaSBjb250YWluZXJkLmlvIGRvY2tlci1jb21wb3NlLXBsdWdpbiA+PiAkUkVTVUxUX0ZJTEUgMj4mMQoKIyDlronoo4UgTnZpZGlhIOebuOWFs+W6kwplY2hvICJBZGRpbmcgTnZpZGlhIHJlcG9zaXRvcnkuLi4iID4+ICRSRVNVTFRfRklMRQpjdXJsIC1zIGh0dHBzOi8vbWlycm9ycy5pdm9sY2VzLmNvbS9udmlkaWFfYWxsL3VidW50dTIyMDQveDg2XzY0LzNiZjg2M2NjLnB1YiB8IHN1ZG8gYXB0LWtleSBhZGQgLSA+PiAkUkVTVUxUX0ZJTEUgMj4mMQpjYXQgPDxFT0YgfCBzdWRvIHRlZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9udmlkaWEubGlzdCA+PiAkUkVTVUxUX0ZJTEUgMj4mMQpkZWIgaHR0cDovL21pcnJvcnMuaXZvbGNlcy5jb20vbnZpZGlhX2FsbC91YnVudHUyMjA0L3g4Nl82NC8gLwpFT0YKCiMg5pu05pawIGFwdCDlubblronoo4UgTnZpZGlhIOWuueWZqOW3peWFt+WMhQplY2hvICJVcGRhdGluZyBhcHQgYW5kIGluc3RhbGxpbmcgTnZpZGlhIGNvbnRhaW5lciB0b29sa2l0Li4uIiA+PiAkUkVTVUxUX0ZJTEUKc3VkbyBhcHQgdXBkYXRlID4+ICRSRVNVTFRfRklMRSAyPiYxCnN1ZG8gYXB0IGluc3RhbGwgLXkgbnZpZGlhLWNvbnRhaW5lci10b29sa2l0ID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOmFjee9riBOdmlkaWEgRG9ja2VyIHJ1bnRpbWUKZWNobyAiQ29uZmlndXJpbmcgTnZpZGlhIHJ1bnRpbWUgZm9yIERvY2tlci4uLiIgPj4gJFJFU1VMVF9GSUxFCnN1ZG8gbnZpZGlhLWN0ayBydW50aW1lIGNvbmZpZ3VyZSAtLXJ1bnRpbWU9ZG9ja2VyID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOmHjeWQryBEb2NrZXIg5pyN5YqhCmVjaG8gIlJlc3RhcnRpbmcgRG9ja2VyLi4uIiA+PiAkUkVTVUxUX0ZJTEUKc3VkbyBzeXN0ZW1jdGwgcmVzdGFydCBkb2NrZXIgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6L+Q6KGMIERvY2tlciDlrrnlmagKZWNobyAiUnVubmluZyBEb2NrZXIgY29udGFpbmVyLi4uIiA+PiAkUkVTVUxUX0ZJTEUKZG9ja2VyIHJ1biAtZCAtLW5ldHdvcmsgaG9zdCAtLXByaXZpbGVnZWQgLS1ncHVzPWFsbCAtLW5hbWU9dmxsbV9xd2VuN0IgLS1pcGM9aG9zdCAtdiAvZGF0YTAwL21vZGVsczovZGF0YTAwL21vZGVscyAtdiAvdmFyL3J1bi9udmlkaWEtdG9wb2xvZ3lkLzovdmFyL3J1bi9udmlkaWEtdG9wb2xvZ3lkLyAtZSBNT0RFTF9QQVRIPS9kYXRhMDAvbW9kZWxzIC1lIFBPUlQ9NjAwMSAtZSBNT0RFTF9OQU1FPURlZXBTZWVrLVIxLURpc3RpbGwtUXdlbi03QiAtZSBUUD0xIGNwLWNvbnRyb2xsZXItY24tYmVpamluZy5jci52b2xjZXMuY29tL2FwcGRlbGl2ZXItbWwvdmxsbTowLjcuMSA+PiAkUkVTVUxUX0ZJTEUgMj4mMQoKIyDlrozmiJAKZWNobyAiU2NyaXB0IGV4ZWN1dGlvbiBjb21wbGV0ZWQuIiA+PiAkUkVTVUxUX0ZJTEU="
data_volumes {
volume_type = "ESSD_FlexPL"
size = 500
delete_with_instance = true
}
subnet_id = volcengine_subnet.foo.id
security_group_ids = [volcengine_security_group.foo.id]
project_name = "default"
}
resource "volcengine_eip_address" "foo" {
billing_type = "PostPaidByTraffic"
}
resource "volcengine_eip_associate" "foo" {
allocation_id = volcengine_eip_address.foo.id
instance_id = volcengine_ecs_instance.foo.id
instance_type = "EcsInstance"
}
Step3:测试验证
登录创建好的 ECS 实例,查看 /home/result 文件,直到输出“Script execution completed”,表示安装&启动容器命令执行完成。此时可以 docker logs
CONTAINER\_ID
查看容器是否拉取到模型和权重,就绪之后(预期就绪时间 3-5 分钟),我们就可以通过以下命令来体验大模型的问答能力:
curl -X POST http://0.0.0.0:6001/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "/data00/models/DeepSeek-R1-Distill-Qwen-7B",
"messages": [
{
"role": "user",
"content": "请证明一下黎曼猜想"
}
],
"stream": true,
"max_tokens": 100,
"temperature": 0.7
}'
注意:有的用户在执行 curl 命令后可能会返回拒绝连接的提示(如下图所示),这可能是因为权重文件没有下载和加载完毕,可以稍后再重试。
(可选)Step4:修改相关配置
为了保障模型下载速度,用户可以根据业务所在地就近选择 ECS 实例的地域。在上述示例中,Terraform 默认使用 cn-beijing Region,如果用户需要在华北 2(北京)以外地域拉起 DeepSeek-R1-Distill 实例,可以修改相关参数:
具体修改方式为在以下执行脚本中修改对应的字段,然后将整个文件进行 base64 编码后放入
main.tf
中的
user\_data
字段。修改完成后重新执行
main.tf
文件即可。
DeepSeek-R1-Distill 蒸馏版 qwen-7B 执行脚本:
#!/bin/bash
RESULT_FILE="/home/result"
touch RESULT_FILE
echo "Running apt update..." >> RESULT_FILE 2>&1
echo "Installing required packages..." >> RESULT_FILE 2>&1
echo "Creating directory for apt keyrings..." >> RESULT_FILE 2>&1
echo "Fetching Docker GPG key..." >> RESULT_FILE 2>&1
echo "Adding Docker repository..." >> (dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ivolces.com/docker/linux/ubuntu RESULT_FILE 2>&1
echo "Updating apt and installing Docker..." >> RESULT_FILE 2>&1
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin >> $RESULT_FILE 2>&1
echo "Adding Nvidia repository..." >> RESULT_FILE 2>&1
cat <<EOF | sudo tee /etc/apt/sources.list.d/nvidia.list >> $RESULT_FILE 2>&1
deb http://mirrors.ivolces.com/nvidia\_all/ubuntu2204/x86\_64/ /
EOF
echo "Updating apt and installing Nvidia container toolkit..." >> RESULT_FILE 2>&1
sudo apt install -y nvidia-container-toolkit >> $RESULT_FILE 2>&1
echo "Configuring Nvidia runtime for Docker..." >> RESULT_FILE 2>&1
echo "Restarting Docker..." >> RESULT_FILE 2>&1
echo "Running Docker container..." >> RESULT_FILE 2>&1
echo "Script execution completed." >> $RESULT_FILE
小结
以上就是基于火山引擎 GPU 云服务器、容器服务 VKE、持续交付 CP、函数服务 veFaaS 等产品快速拉起 DeepSeek-R1-Distill 模型服务的全过程,欢迎感兴趣的用户开通相关产品服务进行体验。
2 月 11 日,为助力企业开发者在业务场景下更深度地使用全尺寸 DeepSeek,火山引擎技术专家及 AI 开发者将在【 云上话 AI · 线上研讨会 】分享更多调用部署经验,并进行实操演示,也欢迎广大企业和开发者预约参与。
相关链接