一开始选型的是 Ollama 这个工具套件的,而且也是想着在手机上部署来使用,可惜的就是没有折腾成功的说。
之所以会折腾自己编译,主要是因为自己没有打开下拉,错误下载了一个欧拉版本的二进制包,看着运行运行库的问题“百思不得其解”。眼看如此就决定尝试编译一个“适合的”版本,反正都打算在手机上部署的,就干脆在 Linux 上准备编译安卓上用的版本,在编译的时候发现这编译用的配置太低,老是在编译到90%左右的ui.cpp这一步被杀进程。多次尝试无果后才毅然发现,我特么没有展开 Github 发布页的列表,全部展开后终于发现“心心念的” Linux 二进制可执行安装包。
介绍
llama.cpp 是一个用 C/C++ 编写的大语言模型推理框架,目标是在消费级硬件上高效运行 LLM。它支持 macOS、Linux、Windows 以及各种 GPU 加速后端,是目前最流行的本地 AI 推理工具之一。
安装
二进制可执行文件安装
下载
大部分设备只需在 Github 下载好编译好的二进制可执行文件即可,根据具体的设备类型选择对应的下载链接。
- 比如我是在 X86_64 的虚拟服务器上部署的,则下载:
wget https://github.com/ggml-org/llama.cpp/releases/download/b9245/llama-b9245-bin-ubuntu-x64.tar.gz
- 解压:
tar -zxvf llama-b9245-bin-ubuntu-x64.tar.gz
- 移动到对应目录:
mv llama-b9245 /usr/local/llama
编译安装
拉取仓库
git clone https://github.com/ggml-org/llama.cpp cd llama.cpp
编译
CPU构建
使用以下方法构建lama.cpp:
cmake -B build cmake --build build --config Release
- 为了更快地编译,请添加以下内容
-j并行运行多个作业,或使用一个自动执行此操作的生成器(如 Ninja)。例如:cmake --build build --config Release -j8
将同时运行8个编译线程。
- 为了更快的重复编译,安装 ccache
- 对于调试构建,有两种情况:
- 单配置生成器
例如,默认值=Unix Makefiles,注意,他们只是忽略了--config。cmake -B build -DCMAKE_BUILD_TYPE=Debug cmake --build build
- 多配置生成器
-G参数设置为Visual Studio、XCode…cmake -B build -G "Xcode" cmake --build build --config Debug
- 单配置生成器
- 对于静态构建,添加
-DBUILD_SHARED_LIBS=OFF:cmake -B build -DBUILD_SHARED_LIBS=OFF cmake --build build --config Release
- 更多请参考官网文档……
BLAS 构建
构建支持BLAS的程序可能会在使用大于32的批量大小(默认是512)的提示处理时带来一些性能改进。使用BLAS不会影响生成性能。目前有几种不同的BLAS实现可供构建和使用:
Metal Build
SYCL
CUDA
MUSA
HIP
Vulkan
CANN
ZenDNN
Arm® KleidiAI™
OpenCL
Android
OpenVINO
Notes about GPU-accelerated backends
注册成 service 服务
编写注册成 service 服务以便于 Llama 的启动/重启/停止等操作。
service文件内容如下:
[Unit] Description=Llama Large Language Model Inference Server After=network-online.target [Service] ExecStart=/usr/local/llama/llama-server -c 2048 -b 2048 -t 1 -np 1 -n 4096 --temp 0.7 --top-k 20 --top-p 0.6 --repeat-penalty 1.05 --no-warmup --host 127.0.0.1 --port 11456 --api-key tk_www.cyzwb.com --log-file /var/log/llama-server.log --log-verbose --log-prefix --log-timestamps User=llama Group=llama Restart=always RestartSec=3 Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" [Install] WantedBy=default.target
部署步骤
创建专用运行用户
useradd -r -s /sbin/nologin llama
创建必要目录并设置权限
mkdir -p /home/llama/ chown -R llama:llama /usr/local/llama/ /home/llama/
安装服务文件
将上述配置保存为llama-server.service
nano /etc/systemd/system/llama-server.service
重新加载systemd配置
systemctl daemon-reload
使用
启动一个模型
sudo -u llama /usr/local/llama/llama-cli -hf ggml-org/gemma-3-1b-it-GGUF
这将在命令行启动一个交互式的使用大模型的界面。
体验
很好可以使用,就是受限于配置的原因速度不是很理想……吃得咸鱼抵得渴的话还是能接受的!
参考
- LLM inference in C/C++
https://github.com/ggml-org/llama.cpp - LLaMA.cpp
https://llama-cpp.com/
ChiuYut
2026年05月20日