在亚马逊云科技上云原生部署DeepSeek-R1模型(下)
在本系列的上篇中,我们介绍了如何通过Amazon Bedrock部署并测试使用了DeepSeek模型。在接下来的下篇中小李哥将继续介绍,如何利用亚马逊的AI模型训练平台SageMaker AI中的,Amazon Sagemaker JumpStart通过脚本轻松一键式部署DeepSeek预训练模型。
使用SageMaker JumpStart部署DeepSeek-R1
SageMaker JumpStart是一个包含基础模型(FM)、内置算法和预构建机器学习模型解决方案的便捷功能,我们只需点击几下即可完成我们想要模型的部署。通过SageMaker JumpStart,我们还可以使用自己的数据自定义预训练模型,并通过UI或SDK将其部署到生产环境中。
在亚马逊云科技上,有两种便捷的方法通过SageMaker JumpStart部署DeepSeek-R1模型:分别是使用直观的SageMaker JumpStart UI或通过SageMaker Python SDK进行编程部署。在本篇中我们就将介绍这两种方法,帮助大家选择最适合自己需求的部署方式。
通过SageMaker JumpStart UI部署DeepSeek-R1
大家需要按照以下步骤使用SageMaker JumpStart UI部署DeepSeek-R1:
1. 在SageMaker控制台中,选择左侧导航栏的 Studio。
2. 注意首次使用SageMaker的用户,需要先创建一个域环境才能开始正常使用这个功能。
3. 在SageMaker Studio控制台中,选择左侧导航栏的JumpStart。
进入JumpStart后,主页将显示所有可用的模型,并提供供应商名称和模型功能等详细信息。
4. 接下来大家搜索DeepSeek-R1,进入后查看DeepSeek-R1模型卡。其中每个模型卡片都会显示模型关键信息,包括:
模型名称:DeepSeek-R1
供应商名称: DeepSeek
任务类别(例如文本生成)
Bedrock Ready标识,表示该模型可在Amazon Bedrock中加载使用,并可使用Amazon Bedrock API进行调用
5. 接下来,我们选择模型卡片进入模型详情页面。
模型卡片详情页面包括以下信息:
- 模型名称和供应商信息
- "Deploy" 按钮,点击部署模型
- "About" 和 "Notebooks" 选项卡,点击进入可以看到详细信息
"About" 选项卡中包括重要信息:
- 模型描述
- 许可信息
- 技术规格
- 使用指南
在部署模型之前,各位开发者一定要先阅读模型详情和许可条款,以确保其与大家的使用场景兼容,同时保证大家拥有使用的授权。
6. 接下来选择Deploy继续部署。
7. 配置部署选项:选择合适的实例类型和数量对于优化成本和提升模型的推理性能至关重要。我们可以在部署后实时监控模型运行情况,并根据我们的业务需求调整这些算力设置。
8. 填入Endpoint name,我们可以使用自动生成的名称或创建自定义名称。
9. 选择Instance type,选择实例类型(默认:ml.p5e.48xlarge
)。
10. 选择Initial instance count:我们在这里输入实例数量(默认:1)。
11. 选择大模型的推理模式Inference type,SageMaker默认选择实时推理(Real-time inference),该模式对实时流量流和延迟都进行了优化。
12. 最后我们仔细检查所有配置是否正确。对于DeepSeek模型,小李哥建议遵循SageMaker JumpStart的默认设置,并确保网络隔离(network isolation) 保持启用状态,保证大模型环境不能被外界公网访问,保证数据的安全。
13. 点击Deploy就完成部署模型了,部署过程通常长袖几分钟。
当部署完成后,我们的模型端点状态将更改为InService。此时模型端点已准备好接收api推理请求调用。我们可以在SageMaker控制台的Endpoints页面中监控实时API调用情况,该页面会显示相关指标和状态信息。完成部署后,我们可以使用SageMaker SDK提供的API,通过代码调用模型,并将其集成到大家的应用程序中。
使用 SageMaker Python SDK 部署 DeepSeek-R1
要通过SageMaker Python SDK,以代码形式使用DeepSeek-R1,我们需要先安装SageMaker Python SDK - Boto3,并确保我们具备必要的AWS权限和环境变量设置。以下是一个通过API调用DeepSeek的代码示例,展示了如何以编程方式部署DeepSeek-R1并进行推理。
部署模型的代码已在亚马逊云科技GitHub仓库上线。我们可以克隆该Notebook并在SageMaker Studio中运行。
!pip install --force-reinstall --no-cache-dir sagemaker==2.235.2from sagemaker.serve.builder.model_builder import ModelBuilder
from sagemaker.serve.builder.schema_builder import SchemaBuilder
from sagemaker.jumpstart.model import ModelAccessConfig
from sagemaker.session import Session
import logging sagemaker_session = Session()artifacts_bucket_name = sagemaker_session.default_bucket()
execution_role_arn = sagemaker_session.get_caller_identity_arn()js_model_id = "deepseek-llm-r1"gpu_instance_type = "ml.p5e.48xlarge"response = "Hello, I'm a language model, and I'm here to help you with your English."sample_input = {"inputs": "Hello, I'm a language model,","parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6},}sample_output = [{"generated_text": response}]schema_builder = SchemaBuilder(sample_input, sample_output)model_builder = ModelBuilder( model=js_model_id, schema_builder=schema_builder, sagemaker_session=sagemaker_session, role_arn=execution_role_arn, log_level=logging.ERROR ) model= model_builder.build() predictor = model.deploy(model_access_configs={js_model_id:ModelAccessConfig(accept_eula=True)}, accept_eula=True) predictor.predict(sample_input)
接下来的代码是通过代码形式调用该端点生成推理的代码段
new_input = {"inputs": "What is Amazon doing in Generative AI?","parameters": {"max_new_tokens": 64, "top_p": 0.8, "temperature": 0.7},
}prediction = predictor.predict(new_input)
print(prediction)
加载安全过滤器Guardrails并利用DeekSeek运行推理
与Amazon Bedrock相同,我们也可以使用ApplyGuardrail API保护我们的SageMaker JumpStart中模型的推理过程。可以通过Amazon Bedrock控制台或API创建 Guardrail,并按照以下代码示例保护推理过程:
# Get the response from the modelmodel_response = json.loads(response['Body'].read().decode())# Apply guardrail to outputoutput_guardrail_response = bedrock_runtime.apply_guardrail(guardrailIdentifier=guardrail_id,guardrailVersion=guardrail_version,source='OUTPUT',content=[{ "text": { "text": model_response['generated_text'] }}])# Check if output passes guardrailsif output_guardrail_response['action'] != 'GUARDRAIL_INTERVENED':print(model_response['generated_text'])else:print("Output blocked: ", output_guardrail_response['outputs'][0]['text'])
else:print("Input blocked: ", input_guardrail_response['outputs'][0]['text'])
以上就是全部的在亚马逊云科技上部署、测试、安全地通过API调用DeekSeek-R1模型的全部步骤。欢迎大家持续关注小李哥分享的国际前沿的云平台AI解决方案,关注小李哥不要错过未来更多精彩内容。
相关文章:

在亚马逊云科技上云原生部署DeepSeek-R1模型(下)
在本系列的上篇中,我们介绍了如何通过Amazon Bedrock部署并测试使用了DeepSeek模型。在接下来的下篇中小李哥将继续介绍,如何利用亚马逊的AI模型训练平台SageMaker AI中的,Amazon Sagemaker JumpStart通过脚本轻松一键式部署DeepSeek预训练模…...
C# COM 组件在.NET 平台上的编程介绍
.NET学习资料 .NET学习资料 .NET学习资料 一、COM 组件简介 COM(Component Object Model)即组件对象模型,是一种微软提出的软件组件技术,它允许不同的软件模块在二进制层面进行交互。COM 组件可以用多种编程语言开发࿰…...

火热的大模型: AIGC架构解析
文章目录 一、背景介绍二、架构描述数据层模型层(MaaS)服务层(PaaS)基础设施层(IaaS)应用层 三、架构分析四、应用场景与价值4.1 典型场景4.2 价值体现 五、总结 一、背景介绍 火热的大模型,每…...

Android LifecycleOwner 闪退,java 继承、多态特性!
1. 闪退 同意隐私政策后,启动进入游戏 Activity 闪退 getLifecycle NullPointerException 空指针异常 FATAL EXCEPTION: main Process: com.primer.aa.gg, PID: 15722 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.primer.aa.…...
PHP 完整表单实例
PHP 完整表单实例 引言 表单是网站与用户交互的重要方式,尤其是在收集用户输入数据时。PHP 作为一种流行的服务器端脚本语言,在处理表单数据方面具有强大的功能。本文将提供一个完整的 PHP 表单实例,涵盖表单创建、数据收集、验证和存储等关…...

深度学习学习笔记(32周)
目录 摘要 abstract 1 Mask R-CNN 2 RoI Align 2.1 RoIPool实验 2.2 RoIAlign实验 3 Mask Branch(FCN) 4 其他细节 4.1 Mask R-CNN损失 4.2 Mask分支损失 4.3 Mask Branch预测使用 摘要 Mask R-CNN是2017年发表的文章,一作是何恺明大神,没错就…...

Web3 开发者的机遇与挑战:技术趋势与职业发展
随着 Web3 技术的迅速发展,互联网的未来正朝着去中心化、用户主权、隐私保护等方向演进。作为 Web3 生态的核心力量,Web3 开发者在推动这一变革中扮演着至关重要的角色。无论是在区块链技术、智能合约开发、去中心化应用(DApp)的构…...
探索robots.txt:网站管理者的搜索引擎指南
在数字时代,网站如同企业的在线名片,其内容和结构对搜索引擎的可见性至关重要。而在这背后,有一个默默工作的文件——robots.txt,它扮演着搜索引擎与网站之间沟通桥梁的角色。本文将深入探讨robots.txt的功能、编写方法及其在现代…...

LM Studio本地调用模型的方法
首先需要下载LM Studio,(LM Studio - Discover, download, and run local LLMs)安装好后,需要对index.js文件进行修改,主要是对相关源hugging face的地址修改。 以macOS为例: cd /Applications/LM\ Studi…...

防火墙安全综合实验
防火墙安全综合实验 一、拓扑信息 二、需求及配置 实验步骤 需求一:根据下表,完成相关配置 设备接口VLAN接口类型SW2GE0/0/2VLAN 10AccessGE0/0/3VLAN 20AccessGE0/0/1VLAN List:10 20Trunk 1、创建vlan10和vlan20 2、将接口划分到对应…...

uniapp 编译生成鸿蒙正式app步骤
1,在最新版本DevEco-Studio工具新建一个空项目并生成p12和csr文件(构建-生成私钥和证书请求文件) 2,华为开发者平台 根据上面生成的csr文件新增cer和p7b文件,分发布和测试 3,在最新版本DevEco-Studio工具 文…...

【进程与线程】如何编写一个守护进程
如何编写一个守护进程。我们首先需要理解守护进程是什么。守护进程是在后台运行的进程,通常没有控制终端,用于执行系统任务,比如服务器或者定时任务。 用户可能想创建一个长期运行的服务,比如Web服务器或者日志监控程序。 首先&a…...

ubuntu安装VMware报错/dev/vmmon加载失败
ubuntu安装VMware报错/dev/vmmon加载失败,解决步骤如下: step1:为vmmon和vmnet组件生成密钥对 openssl req -new -x509 -newkey rsa:2048 -keyout VMW.priv -outform DER -out VMW.der -nodes -days 36500 -subj "/CNVMware/"ste…...
web前端布局--使用element中的Container布局容器
前端页面,跟Qt中一样,都是有布局设置的。 先布局,然后再在各布局中添加显示的内容。 Element网站布局容器:https://element.eleme.cn/#/zh-CN/componet/container 1.将element相应的布局容器代码layout,粘贴到vue项…...

手写一个C++ Android Binder服务及源码分析
手写一个C Android Binder服务及源码分析 前言一、 基于C语言编写Android Binder跨进程通信Demo总结及改进二、C语言编写自己的Binder服务Demo1. binder服务demo功能介绍2. binder服务demo代码结构图3. binder服务demo代码实现3.1 IHelloService.h代码实现3.2 BnHelloService.c…...
git rebase发生冲突时 ☞ 解决冲突
参考:特性分支 Rebase 主干分支...

【通俗易懂说模型】反向传播(附多元分类与Softmax函数)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)
7.3. 查询计划相关操作符 48)Key Lookup:该操作符对一个有簇索引的表进行书签查找。参数列包含簇索引的名字和用于查找簇索引中数据行的簇键。该操作符总是伴随一个Nested Loops操作符。如果其参数列中出现WITH PREFETCH子句,则查询处理器已决定使用异步预取(预读,read-ah…...
计算机视觉的研究方向、发展历程、发展前景介绍
以下将分别从图像分类、目标检测、语义分割、图像分割(此处应主要指实例分割)四个方面,为你介绍研究生人工智能计算机视觉领域的应用方向、发展历程以及发展前景。 文章目录 1.图像分类应用方向发展历程发展前景 2.目标检测应用方向发展历程…...
反转字符串-双指针法,
在 Java 中,使用 双指针法 反转字符串是一种高效且直观的方法。以下是详细的解析和代码实现。 1. 双指针法的核心思想 使用两个指针:一个指向字符串的起始位置(left),另一个指向字符串的末尾位置(right&…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...