【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案
作者:Odoo技术开发/资深信息化负责人
日期:2025年2月28日
一、部署背景与目标
DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部署可满足企业对数据隐私、定制化需求及离线场景的支持。本文基于Ubuntu 24.04 LTS,提供两种主流部署方案(Ollama与vLLM),涵盖硬件选型、环境配置、模型优化及问题排查,适用于中大规模企业级应用场景。
二、技术选型与架构设计
2.1 核心组件说明
- Ollama框架:开源模型运行环境,支持GPU加速与参数调优,提供REST API接口
- DeepSeek R1 14B:国产MoE混合专家模型,上下文窗口4096 tokens,支持中文场景优化
- 阿里云ECS配置:推荐g7规格,8核 + 64GB内存 + 200GB SSD
2.2 架构拓扑图
用户终端 → 阿里云安全组 → Ollama服务(11434端口) → CUDA加速层 → DeepSeek R1 14B模型│└─ Open WebUI(3000端口) → 可视化交互界面
三、部署实施流程
3.1 基础环境准备
# 更新系统并安装依赖
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git nvidia-driver-535 nvidia-utils-535# 验证GPU状态
nvidia-smi # 应显示显卡型号及CUDA版本≥12.2# 配置Docker国内源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
3.2 Ollama定制化安装
# 通过镜像源加速安装
curl -fsSL https://ollama.com/install.sh | sed 's|https://ollama.com/download/|https://ghproxy.com/https://github.com/ollama/ollama/releases/download/v0.5.7/|g' | sh# 配置系统服务
sudo systemctl enable ollama
sudo systemctl start ollama# 环境验证
ollama --version # 应显示v0.5.7+
curl http://localhost:11434 # 返回"Ollama is running"
3.3 模型部署与优化
# 拉取14B量化版模型(国内镜像加速)
export OLLAMA_MODELS=https://mirror.deepseek.com/ollama
ollama pull deepseek-r1:14b # 下载约9GB,耗时依赖带宽# 创建自定义配置
cat > Modelfile <<EOF
FROM deepseek-r1:14b
PARAMETER temperature 0.7
PARAMETER top_p 0.9
PARAMETER num_ctx 4096
SYSTEM "你是一个专业的ERP顾问,请用简洁的技术语言回答Odoo相关问题"
EOF# 构建定制化模型
ollama create erp-ai -f Modelfile
四、高阶配置与优化
4.1 GPU资源分配策略
# 监控GPU使用
watch -n 1 nvidia-smi# 启动参数优化示例
ollama run erp-ai \--memory-limit 48GB \--context-length 4096 \--batch-size 512
显存分配建议:14B模型需至少24GB显存,剩余显存留给上下文缓存
4.2 安全加固方案
# 配置防火墙规则
sudo ufw allow 11434/tcp from 192.168.1.0/24 # 仅内网访问
sudo ufw allow 3000/tcp # Open WebUI端口# 修改Ollama服务配置
sudo sed -i '/\[Service\]/a Environment="OLLAMA_ORIGINS=https://erp.yourdomain.com"' /etc/systemd/system/ollama.service
sudo systemctl daemon-reload && systemctl restart ollama
4.3 可视化界面部署
# 启动Open WebUI容器
docker run -d \-p 3000:8080 \-e OLLAMA_BASE_URL=http://localhost:11434 \-v open-webui:/app/backend/data \--name erp-ai-webui \ghcr.io/open-webui/open-webui:main
访问地址:http://<公网IP>:3000,首次登录需创建管理员账户
五、运维监控体系
5.1 健康检查脚本
#!/bin/bash
# model_healthcheck.sh
API_STATUS=$(curl -s -o /dev/null -w "%{http_code}" http://localhost:11434/api/generate)
GPU_UTIL=$(nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits)if [ $API_STATUS -ne 200 ] || [ $GPU_UTIL -gt 90 ]; thensystemctl restart ollamaecho "$(date) - Service restarted" >> /var/log/ollama_monitor.log
fi
配置cron定时任务:
*/5 * * * * /opt/scripts/model_healthcheck.sh
5.2 日志管理方案
# 查看实时日志
journalctl -u ollama -f -n 100# 日志切割配置(/etc/logrotate.d/ollama)
/var/log/ollama/*.log {dailyrotate 30compressmissingoknotifempty
}
六、典型问题解决方案
6.1 内存溢出处理
# 调整交换空间(临时方案)
sudo fallocate -l 32G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile# 永久生效
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6.2 模型响应优化
# 修改Modelfile参数
PARAMETER repeat_penalty 1.2 # 减少重复生成
PARAMETER mirostat 2 # 启用动态温度调节# 分批处理长文本
ollama run erp-ai --prompt "请分段落总结以下文档:" --stream
七、企业级应用场景
7.1 Odoo集成方案
# odoo_custom_module/controllers/ai_api.py
import requestsdef ask_ai(question):payload = {"model": "erp-ai","prompt": f"作为Odoo专家回答:{question}","stream": False}response = requests.post("http://localhost:11434/api/generate",json=payload,timeout=30)return response.json()['response']
应用场景:销售订单预测、工单智能分派、财务异常检测等
7.2 知识库增强方案
# 构建领域知识库
ollama create erp-knowledge -f <<EOF
FROM erp-ai
SYSTEM "你精通Odoo 18版本,熟悉制造业MRP模块配置"
ADAPTER ./odoo_docs.bin # 微调适配器
EOF
八、成本控制建议
- 弹性扩缩容:通过阿里云弹性伸缩组,在非高峰时段降配实例规格
- 模型量化:采用GGUF 4-bit量化可将显存需求降低40%
- 请求合并:使用批处理API减少交互次数,提升GPU利用率
九、风险评估与应对
| 风险类型 | 应对措施 |
|---|---|
| 数据泄露 | 启用阿里云SSL证书 + 请求内容加密 |
| 服务不可用 | 配置多可用区部署 + 健康检查自动恢复 |
| 模型幻觉 | 启用logprobs参数验证 + 输出结果二次校验 |
| 合规性风险 | 部署内容过滤模块 + 对话日志保留180天 |
本方案通过深度整合Ollama框架与阿里云基础设施,实现了企业级AI能力的低成本、高可用部署。建议定期执行ollama update保持模型版本最新,并关注DeepSeek官方发布的优化方案。如需完整运维手册或定制化开发支持,可参考提供的扩展资料。
相关文章:
【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案
作者:Odoo技术开发/资深信息化负责人 日期:2025年2月28日 一、部署背景与目标 DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部…...
0x02 js、Vue、Ajax
文章目录 js核心概念js脚本引入html的方式基础语法事件监听 Vuevue简介v-forv-bindv-if&v-showv-model&v-on Ajax js 核心概念 JavaScript:是一门跨平台、面向对象的脚本语言,用来控制网页行为实现交互效果,由ECMAScript、BOM、DOM…...
深入解析数据倾斜:原因、影响与优化方案
在分布式计算和大数据处理中,数据倾斜(Data Skew) 是一个常见且影响性能的难题。它可能导致某些计算节点负载过高,而其他节点资源浪费,从而影响整体吞吐量和任务执行时间。 在本文中,我们将深入分析 数据倾…...
Python Tornado 框架面试题及参考答案
目录 Tornado 框架的核心组件是什么?解释其作用。 Tornado 与其他 Python 框架(如 Django、Flask)的主要区别是什么? 为什么 Tornado 适合高并发场景?其设计哲学是什么? 解释 Tornado 的 Application 类和 RequestHandler 类的关系。 如何在 Tornado 中配置静态文件路…...
IDEA 使用codeGPT+deepseek
一、环境准备 1、IDEA 版本要求 安装之前确保 IDEA 处于 2023.x 及以上的较新版本。 2、Python 环境 安装 Python 3.8 或更高版本 为了确保 DeepSeek 助手能够顺利运行,您需要在操作系统中预先配置 Python 环境。具体来说,您需要安装 Python 3.8 或更高…...
Linux笔记---一切皆文件
1. 含义 “一切皆文件”是 Linux 对系统资源的高度抽象,通过文件接口屏蔽底层差异,提供了简洁、一致的操作方式。这种设计降低了系统复杂性,使得工具、脚本和应用程序能够以统一模式处理多样化资源,是 Linux 强大灵活性的重要基石…...
ubuntu22.04安装docker engine
在Ubuntu 22.04上安装Docker Engine可以通过以下步骤完成: 更新系统包索引: sudo apt update安装必要的依赖包: 这些包允许apt通过HTTPS使用仓库。 sudo apt install -y apt-transport-https ca-certificates curl software-properties-commo…...
DeepSeek开源周,第五弹再次来袭,3FS
Fire-Flyer 文件系统(3FS)总结: 一、核心特点 3FS 是一个专为 AI 训练和推理工作负载设计的高性能分布式文件系统,利用现代 SSD 和 RDMA 网络,提供共享存储层,简化分布式应用开发。其主要特点包括…...
RagFlow专题二、RagFlow 核心架构(数据检索、语义搜索与知识融合)
深入解析 RagFlow 核心架构:数据检索、语义搜索与知识融合 在前一篇文章中,我们对 RagFlow 的核心理念、与传统 RAG 的区别以及其适用场景进行了深入探讨。我们了解到,RagFlow 通过动态优化检索、增强生成质量以及实时知识管理,使得大模型在复杂任务中的表现更加稳定和高效…...
【音视频】VLC播放器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 一、vlc是什么? VLC Media Player(简称VLC)是一款免费、开源、跨平台的多媒体播放器,由非营利组织VideoLAN开发,最…...
【软件测试】_使用selenium进行自动化测试示例
目录 1. 导入依赖 2. 使用selenium编写测试代码 3. 运行结果 4. 关于浏览器驱动管理及浏览器驱动配置 创建一个空项目用于进行selenium的自动化测试。 1. 导入依赖 <dependencies><!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager…...
【清华大学】DeepSeek从入门到精通完整版pdf下载
DeepSeek从入门到精通.pdf 一共104页完整版 下载链接: https://pan.baidu.com/s/1-gnkTTD7EF2i_EKS5sx4vg?pwd1234 提取码: 1234 或 链接:https://pan.quark.cn/s/79118f5ab0fd 一、DeepSeek 概述 背景与定位 DeepSeek 的研发背景 核心功能与技术特点(…...
Ubuntu 下查看进程 PID 和终止进程方法
查看进程 PID 使用 ps 命令: ps aux | grep <process_name>例如,查看名为 python 的进程: ps aux | grep python使用 pgrep 命令: pgrep <process_name>例如,查看名为 python 的进程: pgrep python使用 top 命令: top…...
JeeWMS graphReportController.do SQL注入漏洞复现(CVE-2025-0392)
免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...
题解 | 牛客周赛83 Java ABCDEF
目录 题目地址 做题情况 A 题 B 题 C 题 D 题 E 题 F 题 牛客竞赛主页 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 输出两个不是同一方位的字符中的任意一个就行 import java.io.*; import java.math.*; import java…...
C语言(16)---------->二维数组
在学习二维数组之前,掌握一维数组是非常重要的。 对于一维数组的学习,读者可以参考我写过的博客: C语言(15)-------------->一维数组-CSDN博客 这里面由浅入深地介绍了C语言中一维数组的使用。 一、二维…...
【计算机网络基础】-------计算机网络概念
1.什么是计算机网络 定义: 图解: 2.最简单的计算机网络 其中: 结点可以是计算机、集线器、交换机、路由器等链路可以是有线链路、无线链路 2.1集线器 2.2交换机 3.互连网(internet)与 路由器 路由器 与 家用路由…...
C++实现3D(EasyX)详细教程
一、关于3D 我们看见,这两个三角形是相似的,因此计算很简单 若相对物体的方向是斜的,计算三角函数即可 不会的看代码 二、EasyX简介 initgraph(长,宽) 打开绘图 或initgraph(长,宽…...
Centos7部署k8s(单master节点安装)
单master节点部署k8s集群(Centos) 一、安装前准备 1、修改主机名 按照资源准备修改即可 # master01 hostnamectl set-hostname master01 ; bash # node1 hostnamectl set-hostname node1 ; bash # node2 hostnamectl set-hostname node2 ; bash2、修改hosts文件 以下命令所…...
【C】链式二叉树算法题1 -- 单值二叉树
leetcode链接https://leetcode.cn/problems/univalued-binary-tree/description/ 1 题目描述 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。 示例 1࿱…...
系统架构设计师—计算机基础篇—计算机网络
文章目录 网络互联模型网络协议与标准应用层协议FTP协议TFTP协议 HTTP协议HTTPS协议 DHCP动态主机配置协议DNS协议迭代查询递归查询 传输层协议网络层协议IPV4协议IPV6协议IPV6数据报的目的地址IPV4到IPV6的过渡技术 网络设计分层设计接入层汇聚层核心层 网络布线综合布线系统工…...
VScode在windows10上使用clang-format
用途:自动调整代码格式,如缩进等。 clang-format官方文档:ClangFormat — Clang 21.0.0git documentation 前提:有一个.clang-format文件 下载LLVM:https://github.com/llvm/llvm-project/releases,将可…...
word转换为pdf后图片失真解决办法、高质量PDF转换方法
1、安装Adobe Acrobat Pro DC 自行安装 2、配置Acrobat PDFMaker (1)点击word选项卡上的Acrobat插件,(2)点击“首选项”按钮,(3)点击“高级配置”按钮(4)点…...
CSS3 圆角:实现与优化指南
CSS3 圆角:实现与优化指南 随着网页设计的发展,CSS3 圆角已经成为了现代网页设计中不可或缺的元素之一。本文将详细讲解 CSS3 圆角的基本用法、实现方式以及优化技巧,帮助您在网页设计中更好地运用这一功能。 一、CSS3 圆角基本用法 1.1 基…...
蓝桥杯 灯笼大乱斗【算法赛】
问题描述 元宵佳节,一场别开生面的灯笼大赛热闹非凡。NN 位技艺精湛的灯笼师依次落座,每位师傅都有相应的资历值,其中第 ii 位师傅的资历值为 AiAi。从左到右,师傅们的资历值逐级递增(即 A1<A2<⋯<ANA1&l…...
【零基础C语言】第四节 数组
【零基础C语言系列】 【零基础C语言】第一节 C语言概述【数制进制码制】-CSDN博客 【零基础C语言】第二节 数据类型、运算符、表达式-CSDN博客 【零基础C语言】第三节 控制结构-CSDN博客 一、一维数组...
【多模态大模型学习】位置编码的学习记录
【多模态大模型学习】位置编码的学习记录 0.前言1. sinusoidal编码1.0 数学知识——复数1.0.1 复数乘法、共轭复数1.0.2 复数的指数表示 1.1 sinusoidal编码来历1.2 代码实现 2. Rotary Positional Embedding (RoPE) ——旋转位置编码2.1 RoPE来历2.2 代码实现2.2.1 GPT-J风格的…...
vector 面试点总结
ps:部分内容使用“AI”查询 一、入门 1、什么是vector 动态数组容器,支持自动扩容、随机访问和连续内存存储。 2、怎么创建-初始化vector std::vector<int> v; // 创建空vectorstd::vector<int> v {1, 2, 3}; // 直接初始化std::vec…...
正式页面开发-登录注册页面
整体路由设计: 登录和注册的切换是切换组件或者是切换内容(v-if和 v-else),因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页,有三个大模块:文章分类&…...
Spring项目-抽奖系统(实操项目-用户管理接口)(END)
^__^ (oo)\______ (__)\ )\/\ ||----w | || || 一:前言: 活动创建及展示博客链接:Spring项目-抽奖系统(实操项目-用户管理接口)(THREE)-CSDN博客 上一次完成了活动的创建和活动的展示,接下来就是重头戏—…...
