云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案

jxf315 2025-06-15 17:10:47 教程文章 3 ℃

**作者: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 基础环境准备

```bash

# 更新系统并安装依赖

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定制化安装

```bash

# 通过镜像源加速安装

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 模型部署与优化

```bash

# 拉取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资源分配策略

```bash

# 监控GPU使用

watch -n 1 nvidia-smi


# 启动参数优化示例

ollama run erp-ai \

--memory-limit 48GB \

--context-length 4096 \

--batch-size 512

```

> **显存分配建议**:14B模型需至少24GB显存,剩余显存留给上下文缓存


#### 4.2 安全加固方案

```bash

# 配置防火墙规则

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 可视化界面部署

```dockerfile

# 启动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 健康检查脚本

```bash

#!/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 ]; then

systemctl restart ollama

echo "$(date) - Service restarted" >> /var/log/ollama_monitor.log

fi

```

> 配置cron定时任务:`*/5 * * * *
/opt/scripts/model_healthcheck.sh`


#### 5.2 日志管理方案

```bash

# 查看实时日志

journalctl -u ollama -f -n 100


# 日志切割配置(/etc/logrotate.d/ollama)

/var/log/ollama/*.log {

daily

rotate 30

compress

missingok

notifempty

}

```


---


### 六、典型问题解决方案

#### 6.1 内存溢出处理

```bash

# 调整交换空间(临时方案)

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 模型响应优化

```bash

# 修改Modelfile参数

PARAMETER repeat_penalty 1.2 # 减少重复生成

PARAMETER mirostat 2 # 启用动态温度调节


# 分批处理长文本

ollama run erp-ai --prompt "请分段落总结以下文档:" --stream

```


---


### 七、企业级应用场景

#### 7.1 Odoo集成方案

```python

# odoo_custom_module/controllers/ai_api.py

import requests


def 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 知识库增强方案

```bash

# 构建领域知识库

ollama create erp-knowledge -f <<EOF

FROM erp-ai

SYSTEM "你精通Odoo 18版本,熟悉制造业MRP模块配置"

ADAPTER ./odoo_docs.bin # 微调适配器

EOF

```


---


### 八、成本控制建议

1. **弹性扩缩容**:通过阿里云弹性伸缩组,在非高峰时段降配实例规格

2. **模型量化**:采用GGUF 4-bit量化可将显存需求降低40%

3. **请求合并**:使用批处理API减少交互次数,提升GPU利用率


---


### 九、风险评估与应对

| 风险类型 | 应对措施 |

|----------------|--------------------------------------------------------------------------|

| 数据泄露 | 启用阿里云SSL证书 + 请求内容加密 |

| 服务不可用 | 配置多可用区部署 + 健康检查自动恢复 |

| 模型幻觉 | 启用logprobs参数验证 + 输出结果二次校验 |

| 合规性风险 | 部署内容过滤模块 + 对话日志保留180天 |


---


本方案通过深度整合Ollama框架与阿里云基础设施,实现了企业级AI能力的低成本、高可用部署。建议定期执行`ollama update`保持模型版本最新,并关注DeepSeek官方发布的优化方案。如需完整运维手册或定制化开发支持,可参考提供的扩展资料。

最近发表
标签列表