大语言模型 (LLM) 本地部署实战

本篇将介绍如何在 Linux 系统上部署本地大语言模型,涵盖 Ollamallama.cpp 两种主流方案,并提供 Arch、Fedora、Debian/Ubuntu 等发行版的详细安装指南。

为什么选择本地部署?

特性本地部署云端 API
隐私安全✅ 数据完全本地❌ 数据上传服务器
使用成本✅ 一次性硬件投入❌ 按token计费
网络要求✅ 离线可用❌ 需要稳定网络
响应速度✅ 取决于本地硬件⚠️ 受网络延迟影响
模型质量⚠️ 受硬件限制✅ 可访问最强模型

本地部署适合:隐私敏感场景、频繁使用、预算有限、网络受限等场景。


方案一:Ollama - 最简单的部署方案

Ollama 是目前最友好的本地 LLM 部署工具,提供一键安装、自动模型管理、RESTful API 等特性。

安装方法

所有 Linux 发行版都可以使用官方安装脚本:

curl -fsSL https://ollama.com/install.sh | sh

一键安装脚本会使用系统包管理器安装预编译包,适合快速体验。生产环境建议使用发行版专用方法。

Arch 用户可以通过 AUR 安装 Ollama:

# 使用 yay(推荐)
yay -S ollama
 
# 或使用 paru
paru -S ollama
 
# 手动从 AUR 安装
git clone https://aur.archlinux.org/ollama.git
cd ollama
makepkg -si

安装完成后启动并启用服务:

sudo systemctl enable --now ollama

Fedora 官方提供了 RPM 包,直接使用 dnf 安装:

# 安装 Ollama
sudo dnf install ollama
 
# 启动服务
sudo systemctl enable --now ollama

如果仓库中没有 Ollama,可以添加官方 COPR 仓库:

sudo dnf copr enable atim/ollama
sudo dnf install ollama

Debian 和 Ubuntu 系列可以使用官方 apt 仓库:

# 1. 添加 Ollama GPG 密钥
curl -fsSL https://ollama.com/download/gpg-pubkey | sudo gpg --dearmor -o /usr/share/keyrings/ollama-archive-keyring.gpg
 
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/ollama-archive-keyring.gpg] https://ollama.com/download stable main" | \
  sudo tee /etc/apt/sources.list.d/ollama.list
 
# 2. 更新并安装
sudo apt update
sudo apt install ollama

对于 Ubuntu 用户,也可以下载 .deb 包直接安装:

wget https://ollama.com/download/ollama-linux-amd64.deb
sudo dpkg -i ollama-linux-amd64.deb

首次运行与测试

安装完成后,运行一个模型来测试:

# 运行 DeepSeek R1 7B(推荐)
ollama run deepseek-r1:7b
 
# 或运行 Llama 3.2
ollama run llama3.2
 
# 交互式对话中输入 /help 查看命令

Ollama 常用命令

# 列出已下载的模型
ollama list
 
# 查看模型信息
ollama show deepseek-r1:7b
 
# 删除模型
ollama rm deepseek-r1:7b
 
# 拉取最新模型
ollama pull deepseek-r1:7b
 
# 查看 Ollama 服务状态
sudo systemctl status ollama
 
# 查看 API 日志
journalctl -u ollama -f

模型选择建议

根据你的硬件选择合适的模型:

显存推荐模型参数量用途
无显卡(纯CPU)phi3, qwen2.5<3b>3B轻量对话、代码补全
6GB - 8GBllama3.2<3b>, qwen2.5<7b>3B - 7B日常对话、写作辅助
12GB - 16GBdeepseek-r1<7b>, llama3.1<8b>7B - 8B复杂推理、代码生成
24GB+deepseek-r1<14b>, llama3.1<70b>14B+专业任务、高精度需求

模型名称后的数字代表参数量,数字越大通常越智能,但也需要更多资源。:7b 表示 70 亿参数版本。

使用 Ollama API

Ollama 默认在 http://localhost:11434 提供 API 服务:

# 测试 API
curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-r1:7b",
  "prompt": "为什么 Linux 是服务器首选?"
}'
 
# 流式响应
curl http://localhost:11434/api/chat -d '{
  "model": "deepseek-r1:7b",
  "messages": [{"role": "user", "content": "解释 systemd 的优势"}],
  "stream": true
}'

安装 WebUI

推荐使用 Open WebUI 作为 Ollama 的图形界面:

# 使用 Docker(推荐)
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

访问 http://localhost:3000 即可使用 Web 界面。


方案二:llama.cpp - 极客的极限性能

llama.cpp 是 Georgi Gerganov 开发的纯 C++ LLM 推理引擎,以极致的优化和兼容性著称。

安装方法

# 从 AUR 安装(推荐)
yay -S llama.cpp-git
 
# 或安装带 CUDA 支持的版本(NVIDIA 显卡)
yay -S llama.cpp-cuda-git
 
# 或安装带 ROCm 支持的版本(AMD 显卡)
yay -S llama.cpp-hip-git
# 从源码编译
sudo dnf install git cmake gcc-c++ make
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build
cmake --build build -j$(nproc)
sudo cmake --install build
 
# 如果有 NVIDIA 显卡,安装 CUDA 支持后:
cmake -B build -DLLAMA_CUBLAS=on
cmake --build build -j$(nproc)
# 安装依赖
sudo apt install git build-essential cmake
 
# 克隆仓库
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
 
# 编译(基础版本)
cmake -B build
cmake --build build -j$(nproc)
 
# NVIDIA 显卡用户启用 CUDA 加速
cmake -B build -DLLAMA_CUBLAS=on
cmake --build build -j$(nproc)
 
# AMD 显卡用户启用 ROCm 加速
cmake -B build -DLLAMA_HIPBLAS=on
cmake --build build -j$(nproc)

下载 GGUF 格式模型

llama.cpp 使用 GGUF (GPT-Generated Unified Format) 模型:

# 创建模型目录
mkdir -p ~/models/llm
cd ~/models/llm
 
# 使用 huggingface-cli 下载(推荐)
pip install huggingface-cli
huggingface-cli download \
  microsoft/Phi-3-mini-4k-instruct-gguf \
  Phi-3-mini-4k-instruct-q4.gguf \
  --local-dir .
 
# 或直接 wget 下载模型
wget https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-gguf/resolve/main/Phi-3-mini-4k-instruct-q4.gguf

运行推理

# 交互模式
./build/bin/llama-cli \
  -m Phi-3-mini-4k-instruct-q4.gguf \
  -p "解释 Linux 的一切都是文件的哲学" \
  -n 512 \
  -ngl 99  # 使用 GPU 层数(NVIDIA/AMD)
 
# 聊天模式
./build/bin/llama-cli \
  -m Phi-3-mini-4k-instruct-q4.gguf \
  --color \
  -i \
  -p "User: 你好,介绍一下 Linux\nAssistant:"
 
# 启动服务器
./build/bin/llama-server \
  -m Phi-3-mini-4k-instruct-q4.gguf \
  --port 8080 \
  -ngl 99

性能优化建议

  1. 量化选择:Q4_K_M 是质量和速度的最佳平衡点
  2. GPU 分层:使用 -ngl 99 将所有层卸载到 GPU
  3. 批处理:增加 -b 512 提高吞吐量
  4. 线程数:设置 -t $(nproc) 使用全部 CPU 核心

对比与选择

Ollama vs llama.cpp

特性Ollamallama.cpp
安装难度⭐ 极简单⭐⭐⭐ 需编译
用户体验⭐⭐⭐⭐⭐ 开箱即用⭐⭐ 命令行为主
性能优化⭐⭐⭐ 自动优化⭐⭐⭐⭐⭐ 极致调优
模型格式自定义 GGUF标准 GGUF
API 支持⭐⭐⭐⭐⭐ OpenAI 兼容⭐⭐⭐ 简单 REST
适合场景日常使用、快速上手极限性能、定制需求

新手推荐:从 Ollama 开始,简单够用。 进阶用户:使用 llama.cpp 深度定制,榨干硬件性能。


系统要求与优化

最低配置

组件最低要求推荐配置
CPU4 核心线程8+ 核心,支持 AVX2
内存8GB16GB+
显卡NVIDIA RTX 3060+ / AMD RX 6000+
存储20GB 可用空间50GB+ SSD

系统优化

# NVIDIA 用户安装 NVIDIA 驱动
sudo pacman -S nvidia
 
# AMD 用户安装 AMDGPU 驱动
sudo pacman -S xf86-video-amdgpu
 
# 设置 GPU 性能模式(NVIDIA)
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 250  # 设置功耗限制(W)
# NVIDIA 用户安装驱动
sudo dnf install nvidia-driver
 
# AMD 用户安装驱动
sudo dnf install mesa-dri-drivers
 
# 设置 GPU 性能模式(NVIDIA)
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 250
# Ubuntu 用户安装 NVIDIA 驱动
sudo apt install nvidia-driver-535
 
# Debian 用户安装 NVIDIA 驱动
sudo apt install nvidia-driver
 
# AMD 用户安装驱动
sudo apt install mesa-vulkan-drivers
 
# 设置 GPU 性能模式(NVIDIA)
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 250

通用优化(所有发行版):

# 增加文件描述符限制
echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 65536" | sudo tee -a /etc/security/limits.conf

常见问题

Q: Ollama 服务启动失败?

A: 检查日志 journalctl -u ollama -n 50,常见原因包括端口被占用、权限问题。

Q: 模型运行很慢?

A: 确认 GPU 加速已启用,使用 ollama show 查看模型配置。

Q: 内存不足?

A: 使用更小的模型或更高量化的版本(如 Q2、Q3)。

Q: 如何卸载?

# Ollama
yay -R ollama
 
# llama.cpp
yay -R llama.cpp-git  # 或对应的变体
# Ollama
sudo dnf remove ollama
 
# llama.cpp(源码编译)
sudo rm -rf /usr/local/bin/llama-*
# Ollama
sudo apt remove ollama
 
# llama.cpp(源码编译)
sudo rm -rf /usr/local/bin/llama-*

下一步

  • 安装 Open WebUI 获得更好的交互体验
  • 尝试不同的模型找到最适合你的
  • 集成到你的日常工作流(代码助手、写作工具)
  • 探索 RAG(检索增强生成)构建知识库

2026-02-27 文档初稿完成,引入 Ollama 与 llama.cpp 本地大模型部署方案,支持 Arch、Fedora、Debian 等主流发行版。
Navigation