本文介绍如何通过计算巢一键部署DeepSeek集群版
整体架构
DeepSeek-R1简介
DeepSeek-R1是深度求索(DeepSeek)于2025年1月20日发布的开源人工智能大型语言模型。在数学、代码及推理任务上的表现与 OpenAI-o1 旗鼓相当。 DeepSeek-R1(7b)是 DeepSeek R1 的中端版本。其设计目标是将 DeepSeek R1 的强大推理能力转移到更小的模型中,以提高计算效率和部署灵活性。
Open WebUI和Ollama简介
Open WebUI 是一个功能丰富且用户友好的自托管 Web 用户界面(WebUI),它被设计用于与大型语言模型(LLMs)进行交互,特别是那些由 Ollama 或与 OpenAI API 兼容的服务所支持的模型。
Ollama 是一个开源项目,其主要目标是简化大型语言模型(LLMs)的部署和运行流程,使得用户能够在本地机器或私有服务器上轻松运行这些模型。
Open WebUI和Ollama做了集成,可以轻松在web界面上管理大模型,本服务通过Ollama运行DeepSeek-R1模型,您可以在Open WebUI中直接选择DeepSeek-R1模型进行对话。
集群版部署说明
通过阿里云计算巢服务,可以一键部署DeepSeek ACK集群版并支持弹性扩缩容,也可以部署单机版Ollama+OpenWebUI DeepSeek服务,关于阿里云计算巢可以查看计算巢帮助文档。
本服务基于阿里云ACK,利用Knative开源架构,实现对Ollama与OpenWebUI的部署,其中存储采用了NAS,Knative网关采用Kourier,服务默认会拉取deepseek-r1:7B模型。
Knative是一款基于Kubernetes集群的开源Serverless框架,负责管理Serverless工作负载,提供了应用部署、多版本管理等能力,且支持强大灵活的扩缩容能力。详情请参考:Knative文档。
计费说明
DeepSeek集群版在阿里云上的费用主要涉及:
- 所选GPU云服务器的规格
- 节点数量
- 磁盘容量
- 公网带宽
计费方式:按量付费(小时)或包年包月
预估费用在创建实例时可实时看到。
RAM账号所需权限
部署Deepseek集群版服务实例,需要对部分阿里云资源进行访问和创建操作。因此您的账号需要包含如下资源的权限。
权限策略名称 |
备注 |
AliyunECSFullAccess |
管理云服务器服务(ECS)的权限 |
AliyunVPCFullAccess |
管理专有网络(VPC)的权限 |
AliyunROSFullAccess |
管理资源编排服务(ROS)的权限 |
AliyunCSFullAccess |
管理容器服务(CS)的权限 |
AliyunComputeNestUserFullAccess |
管理计算巢服务(ComputeNest)的用户侧权限 |
AliyunNASFullAccess |
管理网络文件系统(NAS)的权限 |
部署流程
- 单击商品链接,点击立即订阅部署。
进入服务实例部署界面,选择模板:ollama_knative集群版,然后根据界面提示填写参数,可以看到对应询价明细,确认参数后点击下一步:确认订单。(计算巢也支持单机版部署Ollama+OpenWebUI的DeepSeek服务)。
注意:如果要使用70B的模型,推荐选用64GB以上显存的规格。如果使用671B的模型,只能选择H20的机器。
- 点击下一步:确认订单后可以也看到价格预览,随后点击立即部署,等待部署完成。
- 等待部署完成后就可以开始使用服务,进入服务实例详情点击OpenWebUIServer访问。
使用说明
公网OpenWebUI地址
- 访问概览页的公网OpenWebUI地址,注册管理员账号并登录。
- 登录成功后即可使用默认的deepseek-r1:7b模型进行对话。本服务内置了截图所示的几种参数规模的模型,默认使用7B模型,可以选择下面其他参数规模的模型。请根据购买的ECS规格显存大小进行选择,模型参数规模越大需要的显存越高,启动加载、推理会更慢,推理结果越精确智能。
如果出现选择模型的地方为空,则表示内置模型还在拉取中,可以等待几分钟,或者查看容器日志,可以看到模型拉取进度。
私网API地址
- 在和服务器同一VPC内的ECS中访问概览页的私网API地址。访问示例如下:
curl -H "Host: ollama.ollama.svc.cluster.local" http://${PrivateIp}/api/generate -d '{ "model": "deepseek-r1:7b", "prompt": "你是谁?" }'
如果提示模型还未下载好则可以等待几分钟重试即可。
- 如果想通过公网访问API地址,需要在Kourier页面关闭仅内网访问,便能通过公网访问API地址。关闭方式:
curl -H "Host: ollama.ollama.example.com" http://${GatewayIp}/api/generate -d '{ "model": "deepseek-r1:7b", "prompt": "你是谁?" }'
- 进入集群管理页面,点击左侧导航栏的应用,点击Knative,进入Knative页面。
- 点击服务管理,选择ollama命名空间,然后可以看到ollama服务。
- 点击详情,取消勾选仅内部访问,然后点击确定。
- 默认域名自动修改为 ollama.ollama.example.com。随后通过示例进行访问。其中GatewayIp采用页面基本信息中的访问网关中的ip。
访问示例如下:
进阶教程
- 在管理员面板中添加其他用户
- 通过面板下载其他模型,支持的模型请查看ollama官网:https://ollama.ai/library
- 配置弹性扩缩容 Knativa提供灵活的弹性扩缩容功能,您可以参考该文档设置对应的扩缩容配置:基于流量请求数实现服务自动扩缩容,
需要注意,目前每个pod分配了一张GPU,当通过扩容得到的pod数量超过GPU数量时将会导致其余pod扩容失败。可以创建一个弹性gpu节点池,当新创建的pod 所需要gpu资源不够,处于pending的时候,通过gpu节点池弹出来新的节点供pod使用,
具体参考文档:启用节点自动伸缩。