🚀 甲骨文 ARM 云服务器部署 Llama 3 + Open WebUI 全攻略
甲骨文云 (Oracle Cloud) 的 VM.Standard.A1.Flex 实例拥有 4 OCPU 和 24GB 内存,是运行本地 AI 模型的“神机”。本文详细记录了从系统修复、内核升级到部署网页版 Llama 3 的实战全过程。
🛠️ 第一阶段:系统初始化与故障修复
在甲骨文 Ubuntu 镜像上,最常遇到的就是软件包依赖死锁。
1. 解决 dpkg 被中断及监控插件错误
如果遇到 E: dpkg was interrupted 或 unified-monitoring-agent 报错:
bash
# 1. 强制修复中断的配置
sudo dpkg --configure -a
# 2. 强制移除甲骨文特有的损坏监控包
sudo dpkg --remove --force-remove-reinstreq unified-monitoring-agent
# 3. 修复依赖并更新系统
sudo apt-get install -f
sudo apt update && sudo apt upgrade -y
请谨慎使用此类代码。
2. 内核升级与重启
升级后若提示 Kernel mismatch,请务必重启以加载新内核:
bash
sudo reboot
请谨慎使用此类代码。
🤖 第二阶段:安装 Ollama AI 引擎
Ollama 是 ARM 架构下运行 AI 最好的工具。
1. 一键安装命令
bash
curl -fsSL https://ollama.com | sh
请谨慎使用此类代码。
2. 开启远程访问(解决 Network Problem 关键)
默认 Ollama 只允许本地访问,需修改配置允许 Docker 连接:
bash
# 编辑服务覆盖文件
sudo systemctl edit ollama.service
请谨慎使用此类代码。
在弹出的编辑器中填入:
ini
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
请谨慎使用此类代码。
保存并生效:
bash
sudo systemctl daemon-reload
sudo systemctl restart ollama
请谨慎使用此类代码。
🐳 第三阶段:部署 Open WebUI 网页版
为了获得类 ChatGPT 的优美界面,我们使用 Docker 部署 Open WebUI。
1. 安装 Docker 环境
bash
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER && newgrp docker
请谨慎使用此类代码。
2. 极简部署命令 (Host 模式)
使用 --network host 模式可以完美规避甲骨文复杂的 Docker 网桥通信问题:
bash
docker run -d \
--network host \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
请谨慎使用此类代码。
注:此模式下网页访问端口为 8080。
🛡️ 第四阶段:打通网络“任督二脉”
1. 甲骨文云控制台放行
进入 VCN -> 安全列表 -> 入站规则,添加:
目的地端口:
8080(WebUI),11434(Ollama)协议:
TCP源 CIDR:
0.0.0.0/0
2. 暴力清空系统防火墙 (iptables)
甲骨文内置的规则非常隐蔽,直接清空最稳妥:
bash
sudo iptables -P INPUT ACCEPT
sudo iptables -F
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
请谨慎使用此类代码。
🎨 第五阶段:模型调教与中文优化
1. 下载 Llama 3
在终端或网页端拉取模型:
bash
ollama run llama3
请谨慎使用此类代码。
2. 强制中文回复 (System Prompt)
为了让 AI 不再说英文,进入 Settings -> Model Settings -> System Prompt,填入以下指令并点击保存:
你是一个聪明的 AI 助手,请务必始终使用简明易懂的【中文】与我交流。
🚀 甲骨文 ARM 实例:AI 部署总结与性能调优指南
1. 核心性能指标 (Benchmark)
在 4 OCPU / 24GB RAM 的配置下,不同规模模型的表现如下:
首先是 极速体验型,以 Llama 3.2 (3B) 为代表。由于参数量较小,它在 4 个物理核心上的推理速度能达到惊人的 12-18 tokens/s,打字机效果极度丝滑,完全没有等待感,非常适合手机端访问或日常的中英互译。
其次是 全能主力型,包括 Llama 3 (8B) 和国内口碑爆棚的 Qwen 2.5 (7B/8B)。这些模型通常占用约 4.5GB - 5GB 的内存。在 A1 处理器驱动下,它们的响应速度维持在 3-7 tokens/s 之间。虽然不如小模型飞快,但胜在逻辑推理能力强、公文写作地道,是作为私人 AI 助手的最佳平衡点。
最后是 进阶挑战型,如 Mistral (7B) 或一些 14B 的量化版本。在 24GB 大内存的支持下,这台机器甚至可以同时加载 2-3 个这类模型而不会崩溃。虽然推理 14B 模型时速度会下降到 1-2 tokens/s(类似人类默读的速度),但它能处理更复杂的长文本分析和代码编写任务,充分榨干了甲骨文免费实例的每一分性能
2. 关键性能调优建议
💡 内存溢出防护 (Swap)
甲骨文 Ubuntu 默认没有虚拟内存。当你想尝试更高参数的模型(如 14B)时,系统可能会因内存瞬间峰值而崩溃。
建议操作:按照前文步骤开启 8GB Swap,作为物理内存的“安全气囊”。
💡 CPU 线程优化
ARM 架构的 4 个 OCPU 实际上是 4 个物理核心。
优化方案:在 Open WebUI 的 Settings -> Model Settings 中,确保
Num Thread显式设置为 4。这样能确保推理时榨干 Ampere 处理器的每一分性能。
💡 响应延迟优化 (Keep Alive)
默认情况下,Ollama 在模型闲置 5 分钟后会将其从内存卸载。下次提问时,你需要等待 5-10 秒重新加载。
优化方案:如果你希望“秒回”,在启动命令中加入
OLLAMA_KEEP_ALIVE=24h,让模型常驻内存。
3. 避坑总结 (Lessons Learned)
网络层面:甲骨文的防火墙是“双层的”。云控制台的安全规则是第一层,实例内部的 iptables 是第二层。
No route to host通常意味着第二层没打通。架构层面:ARM64 架构虽然指令集不同,但 Ollama 官方 的模型镜像基本都做了兼容。下载模型时不需要特殊指令。
持久化层面:使用 Docker 部署 Open WebUI 时,务必带上
-v open-webui:/app/backend/data参数,否则你调教好的 AI 记忆和账号在容器重启后会全部丢失。
🌟 进阶推荐:中文最强模型
既然 Llama 3 默认说英文,你可以尝试由阿里巴巴开源的 Qwen 2.5 (通义千问)。它对中文的理解深度远超 Llama 3。
安装命令:
ollama run qwen2.5:7b体验:在甲骨文 ARM 上,Qwen 2.5 7B 的响应速度与 Llama 3 相当,但中文表达更地道。
访问地址: http://你的公网IP:8080
博主结语:
至此,你已经拥有一台完全私有、永久免费且支持中文的 ARM 加速 AI 实验室!