环境准备
推荐使用 Ubuntu 22.04 LTS,该版本自带较新的 GCC、CMake 和 Python 工具链,无需额外升级即可顺畅部署。
一、安装系统依赖
首先更新软件源并安装编译所需的工具包:
sudo apt update
sudo apt install -y git build-essential cmake libssl-dev ninja-build
二、克隆并编译 llama.cpp
1. 获取源码
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
2. 构建服务端
使用 CMake 配置构建选项。注意,如果之前尝试过构建但报错(例如 Ninja 构建失败),建议清理旧缓存后重新配置:
rm -rf build
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DLLAMA_BUILD_SERVER=ON
接着执行编译。这里建议使用 make 或 ninja,根据机器核心数并行加速:
make -j $(nproc) llama-server
# 或者使用 ninja
ninja server
编译成功后,可执行文件位于 build/bin/llama-server。
三、准备 GGUF 模型
我们需要下载量化后的 GGUF 格式模型文件。可以使用 wget 从 HuggingFace 等公开仓库获取,也可以根据实际环境选择其他下载方式。以下以 Llama-3 和 Qwen2.5 为例:
mkdir -p ~/models
cd ~/models
# 示例:下载 Llama-3-8B-Instruct (Q6_K)
wget https://huggingface.co/bartowski/Llama-3-8B-Instruct-GGUF/resolve/main/Llama-3-8B-Instruct.Q6_K.gguf
# 示例:下载 Qwen2.5-7B-Instruct (Q4_K_M)
wget https://huggingface.co/ngxson/Qwen2.5-7B-Instruct-1M-GGUF/resolve/main/qwen2.5-7b-instruct-1m-q4_k_m.gguf
注:具体模型链接请前往官方仓库确认最新版本。
四、启动与服务验证
1. 启动服务器
将模型路径替换为你实际存放的位置。建议后台运行并将日志输出到文件以便排查问题:
nohup ./llama.cpp/build/bin/llama-server \
-m ~/models/Llama-3-8B-Instruct.Q6_K.gguf \
--port 8080 \
--host 0.0.0.0 \
--ctx-size 8192 \
--threads 8 \
> llama-server.log 2>&1 &

