目前由于deepseek-api调用问题,数据集构建需要将deepseek部署在本地,综合存储空间与性能考虑,目前使用的是32b的模型,以下为从hugging-face镜像下载模型的步骤:

相关参考网站如下:
(1)https://blog.csdn.net/weixin_40959890/article/details/140319652

(2)https://zhuanlan.zhihu.com/p/689389892

hugging-face镜像下载模型(断点存续)

安装依赖

1
pip install -U huggingface_hub

配置镜像网站

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

tips:可能需要提供官网的key,具体可以在出现报错的时候再去解决

使用huggingface-cli下载模型

由于我要下载的事deepseek-R1经过蒸馏后的32b模型,这里我的具体命令如下:

1
huggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --revision main --resume

利用vllm部署模型的过程

安装vllm

在虚拟环境中使用如下命令安装vllm(注意可以配置国内镜像源,可以大幅提升下载速度)

1
pip install vllm   

部署模型

1
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server --host 192.168.192.3 --port 8555 --model /MODEL/PATH --served-model-name modelName --tensor-parallel-size 4 --trust-remote-code --enforce_eager --dtype=half 

其中CUDA_VISIBLE_DEVICES=0,1,2,3指的是我们使用的卡编号,如果是四卡就是0,1,2,3;如果是8卡就是0,1,2,3,4,5,6,7
其中–tensor-parallel-size 4 代表的是卡并行的情况,4卡的话数字是4,8卡的话数字是8,单卡数字是1
(注意需要提前配置cuda环境)

进行测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import requests

headers = {
"Content-Type": "application/json"
}
url = "http://ip:8555/v1/chat/completions" # vLLM 默认生成接口

data = {
"model": "modelName",
"messages": [
{"role": "system", "content": "你是一个乐于助人的大模型。"},
{"role": "user", "content": "为我编造一个可爱小猫的故事"}
],
"max_tokens": 8159,
"temperature": 0.7,
"top_p": 0.8
}

# 禁用所有代理
proxies = {
"http": None,
"https": None
}

response = requests.post(url, headers=headers, json=data, proxies=proxies)
try:
result = response.json() # 尝试解析响应数据
except Exception as e:
print("解析响应 JSON 出错:", e)
result = None

if response.status_code == 200 and result is not None:
print("生成结果:", result)
else:
print("请求失败,状态码:", response.status_code)
if result is not None:
print("错误信息:", result)

注意这里的禁用代理功能是由于使用超算进行运行的时候超算默认进行了访问代理以至于无法正常访问本地模型提供的api,因此这里我禁用了所有代理并且显式指定了相关的ip,关于如何查询本机ip可以通过如下命令————hostname -I

由于可能存在内存资源不足以运行如此大规模参数模型的情况,因此在资源不足的时候可以进行动态调整,如下是我在单卡时候部署模型使用的代码————CUDA_VISIBLE_DEVICES=0 python -m vllm.entrypoints.openai.api_server –host ip –port 8555 –model /YOURMODELPATH/ –served-model-name model-name –tensor-parallel-size 1 –gpu-memory-utilization 0.9 –max-model-len 8192 –trust-remote-code –enforce_eager –dtype=half