当前位置: 首页 > news >正文

在昇腾GPU上部署DeepSeek大模型与OpenWebUI:从零到生产的完整指南

引言

随着国产AI芯片的快速发展,昇腾(Ascend)系列GPU凭借其高性能和兼容性,逐渐成为大模型部署的重要选择。本文将以昇腾300i为例,手把手教你如何部署DeepSeek大模型,并搭配OpenWebUI构建交互式界面。无论你是AI开发者还是企业运维,都能通过本文快速搭建生产级AI服务。


一、为什么选择昇腾GPU?

 信创要求,现在N卡其实便宜了

二、环境准备

1. 基础配置检查
# 确认操作系统版本(推荐OpenEuler 22.03)
cat /etc/os-release# 检查NPU驱动状态(关键!)
npu-smi info
# 预期输出:能看到NPU设备列表和驱动版本(≥6.0.RC3)
2. 安装依赖工具
# 禁用防火墙
systemctl stop firewalld && systemctl disable firewalld# 安装开发工具链
yum install -y git gcc cmake python3-devel

三、Docker环境配置

1. 配置Docker镜像加速
# 创建配置文件
vi > /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://docker.1ms.run","https://docker.xuanyuan.me","data-root": "/data/docker"  # 建议挂载至大容量存储
}
EOF# 重启生效
systemctl restart docker
2. 安装昇腾容器插件
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Ascend-Docker-Runtime/6.0.RC3/Ascend-docker-runtime_6.0.RC3_linux-aarch64.run
chmod +x Ascend-docker-runtime_6.0.RC3_linux-aarch64.run
./Ascend-docker-runtime_6.0.RC3_linux-aarch64.run --install

四、部署GPUSTACK(NPU管理平台)

1. 启动管理服务
docker run -d \--name=gpustack \-p 80:80 \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \--device=/dev/davinci0 \swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gpustack/gpustack:latest-npu

关键参数说明

  • --device:挂载NPU设备,多个设备可重复添加
  • -v /usr/local/Ascend/driver:只读挂载驱动,避免容器内版本冲突
2. 登录管理界面

访问 http://<服务器IP>:80,使用以下命令获取初始密码:

docker exec gpustack cat /var/lib/gpustack/initial_admin_password

五、DeepSeek模型部署实战

1. 模型准备
# 创建模型目录
mkdir -p /data/models/deepseek-14b && cd /data/models# 下载模型文件(以DeepSeek-R1-Distill-Qwen-14B为例)
wget https://modelscope.cn/api/v1/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B/repo?Revision=master -O deepseek-14b.tar.gz
tar zxvf deepseek-14b.tar.gz
2. 启动vLLM推理服务
docker run -d \--name=deepseek-inference \--runtime=ascend \  # 指定昇腾运行时-p 23333:8000 \-v /data/models/deepseek-14b:/model \swr.cn-south-1.myhuaweicloud.com/ascendhub/vllm-ascend:0.7.3 \--model=/model \--tensor-parallel-size=1 \--max-model-len=4096

性能调优建议

  • 调整--max-model-len控制显存占用
  • 添加--quantization awq启用4bit量化

六、集成OpenWebUI

1. 部署Web界面
docker run -d \--name=openwebui \-p 3000:8080 \-v /data/openwebui:/app/backend/data \-e OPENAI_API_BASE_URL=http://host.docker.internal:23333/v1 \ghcr.io/open-webui/open-webui:main
2. 界面配置
  1. 访问 http://<服务器IP>:3000
  2. 进入设置 → 模型 → 添加:
    • 模型名称:DeepSeek-R1-Distill-Qwen-14B
    • API Base URLhttp://host.docker.internal:23333/v1
    • API Key:留空

七、性能监控与优化

1. 实时监控命令
# 查看NPU利用率
npu-smi info -t training -i 0 -c# 查看服务日志
docker logs -f deepseek-inference --tail 100

八、常见问题排查

Q1:容器启动报错npu-smi command not found

原因:驱动未正确挂载
解决

docker run -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi ... # 添加挂载
Q2:模型加载缓慢

优化方案

# 启用模型缓存
docker run -e VLLM_USE_MODELSCOPE=true ...

结语

通过本文,你已成功在昇腾GPU上构建了从模型推理到Web交互的完整链路。这种方案不仅适用于DeepSeek,也可快速迁移到其他开源模型(如Qwen、ChatGLM)。随着昇腾生态的不断完善,国产AI芯片正在为开发者打开新的可能性。

希望这篇指南能为你的AI应用部署提供实用参考!如有疑问,欢迎在评论区交流讨论。

相关文章:

在昇腾GPU上部署DeepSeek大模型与OpenWebUI:从零到生产的完整指南

引言 随着国产AI芯片的快速发展&#xff0c;昇腾&#xff08;Ascend&#xff09;系列GPU凭借其高性能和兼容性&#xff0c;逐渐成为大模型部署的重要选择。本文将以昇腾300i为例&#xff0c;手把手教你如何部署DeepSeek大模型&#xff0c;并搭配OpenWebUI构建交互式界面。无论…...

在window终端创建docker容器的问题

问题&#xff1a; 错误原因&#xff1a; PowerShell 换行符错误 PowerShell 中换行应使用反引号而非反斜杠 \&#xff0c;错误的换行符导致命令解析中断。 在 Windows 的 PowerShell 中运行 Docker 命令时遇到「sudo 无法识别」的问题&#xff0c;这是因为 Windows 系统原生不…...

掌握Kubernetes Network Policy,构建安全的容器网络

在 Kubernetes 集群中&#xff0c;默认情况下&#xff0c;所有 Pod 之间都是可以相互通信的&#xff0c;这在某些场景下可能会带来安全隐患。为了实现更精细的网络访问控制&#xff0c;Kubernetes 提供了 Network Policy 机制。Network Policy 允许我们定义一组规则&#xff0c…...

ReAct论文阅读笔记总结

ReAct&#xff1a;Synergizing Reasoning and Acting in Language Models 背景 最近的研究结果暗示了在自主系统中结合语言推理与交互决策的可能性。 一方面&#xff0c;经过适当Prompt的大型语言模型&#xff08;LLMs&#xff09;已经展示了在算术、常识和符号推理任务中通…...

Linux云计算SRE-第十七周

1. 做三个节点的redis集群。 1、编辑redis节点node0(10.0.0.100)、node1(10.0.0.110)、node2(10.0.0.120)的安装脚本 [rootnode0 ~]# vim install_redis.sh#!/bin/bash # 指定脚本解释器为bashREDIS_VERSIONredis-7.2.7 # 定义Redis的版本号PASSWORD123456 # 设置Redis的访问…...

Python在数字货币交易中的算法设计:从策略到实践

Python在数字货币交易中的算法设计:从策略到实践 随着区块链技术的发展和加密货币市场的繁荣,数字货币交易已经成为金融领域的一个重要分支。从个体投资者到量化基金,算法交易(Algorithmic Trading)正在为提高交易效率和决策质量提供强大的支撑。在这些技术应用中,Pytho…...

高纬度、跨极区导航技术

本文是何昆鹏老师所写&#xff0c;在此非常感谢何老师的分享。 全球导航&#xff0c;特别是极区导航&#xff0c;一直被美俄导航领域所关注。美俄本身部分国土就处于极区&#xff0c;很多战略军事部署与全球航线也都处于该区域&#xff0c;加之其战略军事任务也都强调全球覆盖…...

用AI学编程2——python学习1

一个py文件&#xff0c;学会所有python所有语法和特性&#xff0c;给出注释&#xff0c;给出这样的文件 Python 学习整合文件 """ Python 学习整合文件 包含 Python 的基础语法、数据结构、函数定义、面向对象编程、异常处理、文件操作、高级特性等内容 每个部…...

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

在智能医疗与脑科学快速发展的今天&#xff0c;高效的数据处理能力已成为突破创新的关键。安提思专注于睡眠监测与神经调控&#xff0c;基于人工智能和边缘计算&#xff0c;实现从生理体征监测、智能干预到效果评估的闭环。面对海量生理数据的存储与实时计算需求&#xff0c;安…...

Ubuntu下MySQL的安装与使用(一)

目录 用户切换 MySQL的安装 MySQL的初步使用 登录与退出 Linux和mysql中的普通用户和root用户 查看、创建与使用 简单应用 MySQL 数据库在 Linux 文件系统中的存储结构 数据库、数据库服务、数据库管理系统&#xff08;宏观&#xff09; 微观下的DBMS SQL语言及其分…...

步进电机软件细分算法解析与实践指南

1. 步进电机细分技术概述 步进电机是一种将电脉冲信号转换为角位移的执行机构&#xff0c;其基本运动单位为步距角。传统步进电机的步距角通常为 1.8&#xff08;对应 200 步 / 转&#xff09;&#xff0c;但在高精度定位场景下&#xff0c;这种分辨率已无法满足需求。细分技术…...

pytorch retain_grad vs requires_grad

requires_grad大家都挺熟悉的&#xff0c;因此穿插在retain_grad的例子里进行捎带讲解就行。下面看一个代码片段&#xff1a; import torch# 创建一个标量 tensor&#xff0c;并开启梯度计算 x torch.tensor(2.0, requires_gradTrue)# 中间计算&#xff1a;y 依赖于 x&#x…...

RabbitMQ消息队列中间件安装部署教程(Windows)-2025最新版详细图文教程(附所需安装包)

目录 前言 一、安装Erlang环境 1、下载Erlang安装包 2、安装Erlang 3、设置环境变量 二、安装RabbitMQ环境 1、下载RabbitMQ安装包 2、安装RabbitMQ 3、设置环境变量 三、启动RabbitMQ 1、开启RabbitMQ管理插件 2、启动RabbitMQ 四、访问RabbitMQ 前言 RabbitMQ 是…...

vue-cli3+vue2+elementUI+avue升级到vite+vue3+elementPlus+avue总结

上一个新公司接手了一个vue-cli3vue2vue-router3.0elementUI2.15avue2.6的后台管理项目&#xff0c;因为vue2在2023年底已经不更新维护了&#xff0c;elementUI也只支持到vue2&#xff0c;然后总结了一下vue3的优势&#xff0c;最后批准升级成为了vitevue3vue-router4.5element…...

车载以太网测试-3【Wireshark介绍】

1 摘要 Wireshark 是一款开源的网络协议分析工具&#xff0c;广泛用于网络故障排查、协议分析、网络安全检测等领域。它能够捕获网络数据包&#xff0c;并以详细的、可读的格式显示这些数据包的内容。广泛应用于车载网络测试&#xff0c;是车载网络测试工程师必须掌握的工具。…...

扫雷雷雷雷雷雷雷

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 这一节课我们不学习新的知识&#xff0c;我们来做一个扫雷小游戏 目录 扫雷小游戏概述一、扫雷游戏分析…...

图片分类实战:食物分类问题(含半监督)

食物分类问题 simple_class 1. 导入必要的库和模块 import random import torch import torch.nn as nn import numpy as np import os from PIL import Image #读取图片数据 from torch.utils.data import Dataset, DataLoader from tqdm import tqdm from torchvision impo…...

RuoYi框架添加自己的模块(学生管理系统CRUD)

RuoYi框架添加自己的模块&#xff08;学生管理系统&#xff09; 框架顺利运行 首先肯定要顺利运行框架了&#xff0c;这个我不多说了 设计数据库表 在ry数据库中添加表tb_student 表字段如图所示 如图所示 注意id字段是自增的 注释部分是后面成功后前端要展示的部分 导入…...

机器学习在地图制图学中的应用

原文链接&#xff1a;https://www.tandfonline.com/doi/full/10.1080/15230406.2023.2295948#abstract CSDN/2025/Machine learning in cartography.pdf at main keykeywu2048/CSDN GitHub 核心内容 本文是《制图学与地理信息科学》特刊的扩展评论&#xff0c;系统探讨了机…...

【JAVA架构师成长之路】【电商系统实战】第9集:订单超时关闭实战(Kafka延时队列 + 定时任务补偿)

30分钟课程&#xff1a;订单超时关闭实战&#xff08;Kafka延时队列 定时任务补偿&#xff09; 课程目标 理解订单超时关闭的业务场景与核心需求。掌握基于 Kafka 延时队列与定时任务的关单方案设计。实现高并发场景下的可靠关单逻辑&#xff08;防重复、幂等性&#xff09;。…...

终结摄像头依赖:深度拆解 RuView,用商品化 Wi-Fi 信号构建私密、实时的边缘空间智能

发布日期&#xff1a; 2026-02-15 标签&#xff1a; #无线感知 #WiFi感知 #边缘AI #CSI #生命体征监测 #空间智能 一、 引言 在智能家居、智慧医疗和工业安防的落地过程中&#xff0c;传统的“摄像头方案”始终面临着两大难以调和的工程痛点&#xff1a;隐私泄露的法律风险以…...

【Proteus仿真】SRF04超声波阈值预警系统设计与LCD1602交互实现

1. SRF04超声波测距原理与硬件连接 SRF04超声波模块是工业测距的经典选择&#xff0c;它通过发射40kHz的声波并计算回波时间差来测量距离。在实际项目中&#xff0c;我发现很多初学者容易忽略声速受温度影响的问题——常温下声速约343m/s&#xff0c;但温度每升高1℃&#xff0…...

树莓派Pico舵机控制库picoclaw:从PWM原理到多舵机机器人应用

1. 项目概述&#xff1a;一个为树莓派Pico量身打造的舵机控制库如果你玩过树莓派Pico&#xff0c;并且尝试过用它来控制舵机&#xff0c;那你大概率会遇到一个头疼的问题&#xff1a;Pico的MicroPython固件本身并没有内置专门的舵机控制库。这意味着你需要自己动手&#xff0c;…...

AIGC面试指南:从Transformer到扩散模型,系统掌握核心技术与实战

1. 项目概述&#xff1a;一本面向AIGC求职者的实战指南最近几年&#xff0c;AI生成内容&#xff08;AIGC&#xff09;领域的热度可以说是“肉眼可见”地飙升。从文本生成、图像创作到视频合成&#xff0c;相关岗位如雨后春笋般涌现&#xff0c;吸引了大量开发者和研究者的目光。…...

Linux下Vivado安装卡死解决方案:手动配置与深度排查指南

1. 问题定位&#xff1a;为什么Vivado安装会“卡”在最后一步&#xff1f;如果你在Linux系统上安装Xilinx Vivado时&#xff0c;遇到了安装程序进度条走到最后&#xff0c;却迟迟不结束&#xff0c;甚至界面卡死、无响应的情况&#xff0c;先别急着砸键盘。这几乎是每一位从Win…...

在多轮对话任务中实测 Taotoken 路由策略对响应成功率的影响

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在多轮对话任务中实测 Taotoken 路由策略对响应成功率的影响 1. 测试背景与场景设定 在开发需要长时间连续交互的对话型应用时&am…...

如何处理SQL递归层次结构更新_通过触发器维护父子关系

UPDATE父子路径未更新的主因是触发器中仅修改NEW.path而未递归更新后代path&#xff0c;且AFTER触发器中直接UPDATE同表会报错&#xff0c;需用临时表或存储过程中转&#xff0c;并同步维护level等衍生字段。UPDATE 时父子路径没更新&#xff0c;触发器里忘改 NEW.path递归结构…...

自托管链接管理工具LinkPress:从技术栈到部署实战

1. 项目概述&#xff1a;从“LinkPress”看开源链接聚合工具的演进最近在折腾个人知识库和内容管理时&#xff0c;发现了一个挺有意思的开源项目——mindori/linkpress。乍一看这个名字&#xff0c;你可能会联想到WordPress&#xff0c;没错&#xff0c;它的灵感确实来源于此&a…...

四步法快速诊断与修复AKShare金融数据接口的数据异常问题

四步法快速诊断与修复AKShare金融数据接口的数据异常问题 【免费下载链接】aktools AKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers! 项目地址: https://gitcode.com/gh_mirrors/ak/aktools 作为量化投资领域的重要工具&#xff…...

深入剖析QWidget鼠标追踪失效:从setMouseTracking到事件拦截的完整解决方案

1. 为什么鼠标移动事件会突然失效&#xff1f; 最近在做一个Qt项目时&#xff0c;遇到了一个让人抓狂的问题&#xff1a;明明已经调用了setMouseTracking(true)&#xff0c;但鼠标在某些区域移动时&#xff0c;mouseMoveEvent就是死活不触发。这让我百思不得其解&#xff0c;毕…...