deepseek-r1 api部署和镜像

背景

本文提供一个deepseek-r1-14b/32b的镜像,支持vllm api部署,提供客户端调用api代码,支持history和functioncall。

deepseek镜像

使用auto-dl平台:https://www.autodl.com/create
选择社区镜像
在这里插入图片描述
找到Tecioon4的镜像
在这里插入图片描述
镜像详情:
https://www.codewithgpu.com/i/deepseek-ai/DeepSeek-R1/deepseek-R1-14B-32B-vllm-api

镜像构建

镜像已预装 1.5B 模型和部分14B模型,开箱即用,支持多轮对话推理。

如需使用更大的模型版本,可根据算力按需下载。

须知

  • 章节一是快速尝试
  • 章节二、三是准备环境和模型
  • 章节四是在服务器上使用模型进行对话
  • 章节五是在服务器上进行API部署,方便你远程调用API
  • 章节六是在客户端(本地电脑)上调用服务器API

模型选择:

本镜像支持不同规格的模型,内置1.5B的和部分14B模型,如果你只是想使用1.5B,就不用下载模型,直接使用章节一,四、五、六。如果你需要使用14B和32B或者其他模型,请先使用章节二、三下载模型,再用章节四、五、六。

交互方式选择:
只是想在服务器上进行对话,使用章节四即可。
如果需要部署API,使用章节五和六。

一、快速上手使用

镜像中有1.5B的模型,可以直接测试效果

cd ~
conda activate torch_env
python deepseek_multichat.py

二、基本环境

  • 框架及版本

    • Python: 3.8.10
    • PyTorch: 2.4.1
    • Transformers: 4.46.3
    • Triton: 3.0.0
    • Safetensors: 0.4.5
  • CUDA 版本

    • CUDA 12.1

三、构建过程

默认下载了1.5B的模型,以及部分14B模型
1.5B: /root/DeepSeek-R1
14B: /root/DeepSeek-R1-Distill-Qwen-14B

环境配置

进入root目录

cd ~

激活环境

conda activate torch_env

设置下载源

export HF_ENDPOINT=https://hf-mirror.com

在数据盘创建目录

mkdir -p /root/autodl-tmp/model

将14B模型移动到数据盘

mv /root/DeepSeek-R1-Distill-Qwen-14B /root/autodl-tmp/model/

下载模型

默认使用1.5B的本地模型,其他类型的模型需要根据以下指令下载。
!!!下载失败的话进行多次尝试,我本地网络不太好重试了十几次,最后还是可以成功下载完!!!!

1.5B

已经下载在/root/DeepSeek-R1中。

14B

下载了一部分,需要继续下载

huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-14B \
  --local-dir /root/autodl-tmp/model/DeepSeek-R1-Distill-Qwen-14B \
  --resume-download
32B,需要重头开始下,有点慢
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \
  --local-dir /root/autodl-tmp/model/DeepSeek-R1-Distill-Qwen-32B \
  --resume-download
更多模型
  • DeepSeek-R1 Models(未蒸馏版)
Model#Total Params#Activated ParamsContext LengthDownload
DeepSeek-R1-Zero671B37B128K? HuggingFace
DeepSeek-R1671B37B128K? HuggingFace
  • DeepSeek-R1-Distill Models(蒸馏版)
ModelBase ModelDownload
DeepSeek-R1-Distill-Qwen-1.5BQwen2.5-Math-1.5B? HuggingFace
DeepSeek-R1-Distill-Qwen-7BQwen2.5-Math-7B? HuggingFace
DeepSeek-R1-Distill-Llama-8BLlama-3.1-8B? HuggingFace
DeepSeek-R1-Distill-Qwen-14BQwen2.5-14B? HuggingFace
DeepSeek-R1-Distill-Qwen-32BQwen2.5-32B? HuggingFace
DeepSeek-R1-Distill-Llama-70BLlama-3.3-70B-Instruct? HuggingFace

参考:

https://huggingface.co/collections/deepseek-ai/deepseek-r1-678e1e131c0169c0bc89728d

https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

四、对话、推理

环境搭建完成后,下次就直接调用deepseek_multichat或者vllm_model就可以启动模型

推理,有以下3中方式
  1. 终端对话,可以在代码中修改变量config_path来选择模型
    python deepseek_multichat.py

  2. vllm加速,默认用的14B,可以在代码中修改变量model来选择模型
    python vllm_model.py

    参考:

https://github.com/datawhalechina/self-llm/blob/master/models/DeepSeek-R1-Distill-Qwen/04-DeepSeek-R1-Distill-Qwen-7B%20vLLM%20%E9%83%A8%E7%BD%B2%E8%B0%83%E7%94%A8.md

  1. 官方方式,https://github.com/deepseek-ai/DeepSeek-V3

五、vllm-api部署

1.5B

python -m vllm.entrypoints.openai.api_server
–model /root/autodl-tmp/model/DeepSeek-R1
–served-model-name DeepSeek-R1
–max-model-len=19000

14B

需要先下载14B模型

python -m vllm.entrypoints.openai.api_server
–model /root/autodl-tmp/model/DeepSeek-R1-Distill-Qwen-14B
–served-model-name DeepSeek-R1-Distill-Qwen-14B
–max-model-len=19000

32B

需要先下载32B模型

python -m vllm.entrypoints.openai.api_server
–model /root/autodl-tmp/model/DeepSeek-R1-Distill-Qwen-32B
–served-model-name DeepSeek-R1-Distill-Qwen-32B
–max-model-len=19000

六、客户端调用

1.端口映射

先使用autodl自带的"自定义服务"进行端口映射,例如:

ssh -CNg -L 8000:127.0.0.1:8000 root@region-9.autodl.pro -p 26901

在客户端终端运行自定义服务的指令,需要将两个6006都改成8000,第一个是你客户端用的端口,第二个是你服务器的端口,也可以自己设置。

2. 代码调用

/model.py和/test.py拷贝到客户端同一个目录下,直接运行test.py

3. 也可以直接终端测试

终端运行以下指令:

curl http://localhost:8000/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "DeepSeek-R1-Distill-Qwen-14B",
"messages": [
{"role": "user", "content": "我想问你,5的阶乘是多少?<think>\n"}
]
}'
4. 更多玩法参考以下链接

https://github.com/datawhalechina/self-llm/blob/master/models/DeepSeek-R1-Distill-Qwen/04-DeepSeek-R1-Distill-Qwen-7B%20vLLM%20%E9%83%A8%E7%BD%B2%E8%B0%83%E7%94%A8.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值