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

news/2025/3/9 8:10:44/

vLLM__DeepSeekR1DistillQwen32B_0">一、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 模型:

在这里插入图片描述

三、对话测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1577768.html

相关文章

使用浏览器插件GitZip一次性下载多个Github文件

在Edge插件商店中下载GitZip 在github中选择想要下载的文件 然后你会发现右下角一个黑箭头→,点击黑箭头,会出现提示: 你就按照它的提示来,点击GitZip的图标,接着会出现: 点击Private,然后按照…

Android 仿 DeepSeek 思考效果:逐字显示 AI 生成内容,支持加粗、颜色,复制内容

最近特别火的非AI莫属了,对我们高级搬运工太友好了,不管是网页端还是APP端,输入你要问的问题,都会逐字给你显示出来,有的还会加粗,这种效果看着不错,今天就带大家一起来实现。有啥更好的建议请在…

Array and string offset access syntax with curly braces is deprecated

警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告(Deprecation Notice),表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…

现代密码学体系架构设计原则与实践:基于Python的实现与GPU加速GUI演示

目录 现代密码学体系架构设计原则与实践:基于Python的实现与GPU加速GUI演示一、前言二、现代密码学体系架构设计原则1. 安全性原则2. 模块化设计3. 最小权限原则4. 加密算法的选择5. 硬件加速与GPU应用6. 可扩展性与可维护性三、主要加密算法解析1. 对称加密算法:AES2. 非对称…

Python包结构与 `__init__.py` 详解

1. 什么是 __init__.py? __init__.py 是Python包的标识文件,它告诉Python解释器这个目录应该被视为一个包(Package)。这个文件可以为空,也可以包含初始化代码。 1.1 基本作用 包的标识 将普通目录转换为Python包允许…

CAD2025电脑置要求

Windows 系统 操作系统:64 位 Microsoft Windows 11 和 Windows 10 version 1809 或更高版本。 处理器 基本要求:2.5-2.9GHz 处理器,不支持 ARM 处理器。 推荐配置:3GHz 以上处理器(基础),4GHz …

17. 示例:用assert property检查FIFO空满标志冲突

文章目录 前言一、概念解析与通俗理解二、实现方式与代码示例1. 核心断言逻辑2. 扩展场景(时序对齐)3. 使用 assert property 三、应用场景与示例1. 验证阶段2. 实际案例3. assert property 验证阶段 四、常见误区与规避方法1. 忽略复位条件2. 异步信号未…

css动画实现铃铛效果

代码 <!DOCTYPE html> <html><head><meta charset"UTF-8" /></head><style>*,*::after,*::before {margin: 0;padding: 0;box-sizing: border-box;}body {width: 100%;height: 100vh;background-color: #1d1d1d;display: flex;…