欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > vLLM + Open-WebUI 本地私有化部署 DeepSeek-R1-Distill-Qwen-32B 方案

vLLM + Open-WebUI 本地私有化部署 DeepSeek-R1-Distill-Qwen-32B 方案

2025/3/9 20:56:34 来源:https://blog.csdn.net/qq_43692950/article/details/146018342  浏览:    关键词:vLLM + Open-WebUI 本地私有化部署 DeepSeek-R1-Distill-Qwen-32B 方案

一、vLLM 部署 DeepSeek-R1-Distill-Qwen-32B

DeepSeek-R1-Distill 系列模型是 DeepSeek-R1 的蒸馏模型,官方提供了从 1.5B - 70B 不同尺寸大小的模型。特别适合在计算资源有限的环境中部署。

DeepSeek-R1 各个版本的蒸馏模型评估结果如下:

在这里插入图片描述

其中 DeepSeek-R1-Distill-Qwen-32B 是通过对 Qwen2.5-32B 模型进行蒸馏得到的版本。该模型在评估结果中整体表现优异,在多项测试中均超过 GPT-4o-0513o1-miniClaude-3.5-Sonnet-1022,且在 DeepSeek-R1-Distill 系列中效果和 DeepSeek-R1-Distill-Llama-70B 相差不大,但参数量近乎是 DeepSeek-R1-Distill-Llama-70B 的一半只有 32B大小,因此可谓是本地部署的绝佳选择。

本次实验就基于 DeepSeek-R1-Distill-Qwen-32B 模型本地私有化部署,其中推理优化框架采用 vLLM

vLLM是一个快速且易于使用的大模型库,专为大模型的推理和部署而设计。可以无缝集成 HuggingFaceModelscope 上的模型。

关于 vLLM 的安装可参考下面这篇文章:

利用 vLLM 优化部署私有化大模型,让推理速度飞起

vLLM 环境部署好后,首先使用 modelscope 下载 DeepSeek-R1-Distill-Qwen-32B 模型到指定目录下:

modelscope download --model="deepseek-ai/DeepSeek-R1-Distill-Qwen-32B" --local_dir DeepSeek-R1-Distill-Qwen-32B

在这里插入图片描述

然后使用 vLLM 读取模型启动API服务。

注意:下面参数需要依据自己的算力环境适当修改:

export CUDA_VISIBLE_DEVICES=0,1vllm serve "DeepSeek-R1-Distill-Qwen-32B" \--host 0.0.0.0 \--port 8060 \--dtype bfloat16 \--tensor-parallel-size 2 \--cpu-offload-gb 0 \--gpu-memory-utilization 0.8 \--max-model-len 8126 \--api-key token-abc123 \--enable-prefix-caching--trust-remote-code

关键参数说明:

  • export CUDA_VISIBLE_DEVICES=0,1 :指定所使用的GPU,由于我本地有两块,这里指定了 0,1 , 如果只有一块的情况下可指定 0
  • dtype: 数据类型,其中 bfloat1616位浮点数,适合 NVIDIA A100 等设备。
  • tensor-parallel-sizeTensor 并行的数量,当多 GPU 分布式推理时使用,建议和GPU的数量一致。
  • cpu-offload-gb:允许将部分模型权重或中间结果卸载到 CPU 的内存中,单位为 GB。,模拟 GPU 内存扩展,如果部署的模型大于了显存大小可以设置该参数,但是推理速度会大大下降。
  • gpu-memory-utilization:设置 GPU 内存利用率的上限。
  • max-model-len:允许模型最大处理的Token数,该参数越大占用显存越大。
  • enable-prefix-caching:启用前缀缓存减少重复计算。

在这里插入图片描述

显存占用情况:

在这里插入图片描述

基于以上配置启动后,整体大概占用了 79.2G 显存。如果启动显存不足,可适当调整 gpu-memory-utilizationmax-model-len 参数,或通过 cpu-offload-gb 将部分模型权重卸载到内存中。

启动成功后,通过 /v1/models 接口可查看模型列表:

curl http://localhost:8060/v1/models -H "Authorization: Bearer token-abc123"

在这里插入图片描述

测试API交互:

curl http://localhost:8060/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer token-abc123" \-d '{"model": "DeepSeek-R1-Distill-Qwen-B","messages": [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "你好,介绍一下你自己"}]}'

在这里插入图片描述

二、Open-WebUI 部署

Open WebUI是一个开源的、可扩展的、功能丰富的自托管AI平台,旨在完全离线运行。它主要设计用于与大型语言模型(LLMs)进行交互,支持多种模型和API,提供了直观的图形用户界面,使得用户可以更方便地管理和运行模型。

Github 地址:

https://github.com/open-webui/open-webui

1. 部署

下载 open-webui 依赖 :

pip install open-webui

启动 open-webui

open-webui serve --port=4096

在这里插入图片描述

启动成功后,浏览器访问:http://ip:4096/ 即可打开 Open-WebUI 页面。

首次进入需要设置管理员账号密码,设置完毕后,进入到如下所示主页:

在这里插入图片描述

2. 连接 DeepSeek-R1-Distill-Qwen-32B 模型。

点击左下角进入管理员面板:

在这里插入图片描述

OpenAI APIOllama API 关闭,前提如果你有这两个连接的话,可以开启。然后保留 直接连接 的开启:

在这里插入图片描述

然后再次点击左下角进入设置:

在这里插入图片描述

在外部链接中添加上面 vLLM 的服务:

在这里插入图片描述

在这里插入图片描述

模型ID 可以留空,会自动从 /v1/models 接口中获取。

保存后,点击左上角 新对话 , 即可看到默认选择了 DeepSeek-R1-Distill-Qwen-32B 模型:

在这里插入图片描述

三、对话测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词