专栏名称: 亚马逊云科技
亚马逊AWS的公众号,第一时间获取关于AWS国内外服务的资讯。AWS中国(北京)区域由光环新网运营。
目录
相关文章推荐
51好读  ›  专栏  ›  亚马逊云科技

Amazon Bedrock如何自定义导入DeepSeek?

亚马逊云科技  · 公众号  ·  · 2025-01-30 15:42

正文


用自定义模型导入功能,在Amazon Bedrock上部署DeepSeek-R1 Distill Llama模型 ,无缝集成至Amazon Bedrock环境中,充分利用Amazon Bedrock的Serverless基础设施和统一API。




准备



模型兼容


DeepSeek R1 Distill模型需要基于可支持的架构,Amazon Bedrock支持这些架构进行自定义模型导入,如Llama 2、Llama 3、Llama 3.1、Llama 3.2或Llama 3.3。

准备文件


以Hugging Face格式准备必要的模型文件,并且存储在您的亚马逊云科技账户可访问的Amazon S3存储桶中。由于模型已以安全张量格式提供,无需单独准备文件。


  • .safetensors 格式的模型权重。

  • 配置文件( config.json )。

  • Tokenizer文件( tokenizer_config.json tokenizer.json tokenizer.model )。



交互式Jupyter Notebook



复制下方链接,查看如何在Amazon Bedrock上部署DeepSeek-R1.ipynb


Deploy-DeepSeek-R1-On-Amazon-Bedrock.ipynb

https://github.com/manu-mishra/DeepSeekR1onAmazonBedrock/blob/main/Deploy-DeepSeek-R1-On-Amazon-Bedrock.ipynb



部署步骤



安装所需软件包


首先安装必要的Python软件:


pip install huggingface_hub boto3

左右滑动查看完整示意


下载DeepSeek R1模型


使用Hugging Face Hub下载特定DeepSeek R1模型。如,下载 DeepSeek-R1-Distill-Llama-8B 模型,示例如下:


from huggingface_hub import snapshot_download
model_id = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"local_dir = snapshot_download(repo_id=model_id, local_dir="DeepSeek-R1-Distill-Llama-8B")

左右滑动查看完整示意


将模型文件上传到Amazon S3


将下载的模型文件上传到亚马逊云科技账户中的Amazon S3存储桶,上传前请确保该存储桶位于Amazon Bedrock支持的区域,例如 us-east-1 us-west-2


import boto3import os
s3_client = boto3.client('s3', region_name='us-east-1')bucket_name = 'your-s3-bucket-name'local_directory = 'DeepSeek-R1-Distill-Llama-8B'
for root, dirs, files in os.walk(local_directory):    for file in files:        local_path = os.path.join(root, file)        s3_key = os.path.relpath(local_path, local_directory)        s3_client.upload_file(local_path, bucket_name, s3_key)

左右滑动查看完整示意


将模型导入Amazon Bedrock


在Amazon Bedrock 控制启动新模型导入任务


  • 在Amazon Bedrock控制台中,选择“自定义模型”并选择“导入模型”。

  • 提供存储模型文件的Amazon S3 URI(例如, s3://your-s3-bucket-name/DeepSeek-R1-Distill-Llama-8B/ )。

  • 按照提示完成导入。

详细操作,可参阅关于导入自定义模型的亚马逊云科技文档。


调用模型


完成上述步骤后,即可使用Amazon Bedrock API调用模型。


import boto3import json
client = boto3.client('bedrock-runtime', region_name='us-east-1')model_id = 'arn:aws:bedrock:us-east-1:your-account-id:imported-model/your-model-id'prompt = "Your input prompt here"
response = client.invoke_model(    modelId=model_id,    body=json.dumps({'prompt': prompt}),    accept='application/json',    contentType='application/json')
result = json.loads(response['body'].read().decode('utf-8'))print(result)

左右滑动查看完整示意


将“ your-account-id ”和“ your-model-id ”分别替换为您特定的亚马逊云科技账户ID和模型ID。



总 结



按照上述步骤,即可在Amazon Bedrock上有效部署DeepSeek R1 DIstill Llama模型,利用其Serverless基础设施和统一API,来实现可扩展的高效模型推理。


下方链接访问Git存储库

https://github.com/manu-mishra/DeepSeekR1onAmazonBedrock

Youtube上也有更加直观的演示

https://www.youtube.com/watch?v=CA2AXfWWdpA


本篇作者



Manu Mishra

亚马逊云科技员工









请到「今天看啥」查看全文