Android 设备 Termux 部署 llama.cpp 及 WebUI 实战
llama.cpp 官方未发布 aarch64 的二进制包,但在 Termux 中可以直接通过包管理器获取编译好的版本,省去了手动编译的麻烦。
1. 环境准备与安装
首先确保 Termux 软件源是最新的,然后安装 llama-cpp 包。如果找不到包,先执行一次 apt update。
~ $ apt update
~ $ apt install llama-cpp
为了简化流程,本例暂时不安装 Vulkan 后端,直接使用 CPU 进行推理。
2. 下载模型文件
我们需要一个 GGUF 格式的模型。这里以 Qwen3.5-0.8B 为例,量化级别为 Q4_K_XL,体积适中且性能尚可。
~/model $ mkdir model && cd model
~/model $ curl -LO https://hf-mirror.com/unsloth/Qwen3.5-0.8B-GGUF/resolve/main/Qwen3.5-0.8B-UD-Q4_K_XL.gguf
3. 命令行交互测试
使用 llama-cli 工具加载模型并进行对话测试。注意命令拼写是 llama-cli 而非 lama-cli。
~/model $ llama-cli -m Qwen3.5-0.8B-UD-Q4_K_XL.gguf --ctx-size 16384 -cnv
加载成功后,即可输入问题。由于模型较小,响应速度尚可,但复杂逻辑可能不如大模型准确。
退出交互后,可以查看内存占用情况,确认资源分配是否合理。
4. 启动内置 WebUI
llama-server 提供了内置的 Web 界面,方便在浏览器中访问。
~/model $ llama-server -m ./Qwen3.5-0.8B-UD-Q4_K_XL.gguf --jinja -c 0 --host 127.0.0.1 --port 8033
服务启动后,会在终端输出详细的系统信息和加载日志。默认监听本地 8033 端口。
在浏览器中访问 http://127.0.0.1:8033 即可开始对话。WebUI 的输出速度略慢于命令行,大约 3 tokens/s 左右,具体取决于硬件负载。
服务端日志会实时反馈请求处理状态,包括上下文窗口占用、采样参数等信息。如果遇到显存不足或内存溢出,可以尝试调整 --ctx-size 或减少并行线程数。

