AIREITER

llama.cpp v1.0 指南:有哪些变化,以及如何升级

最后更新: 2026-11-13 19:02:24

llama.cpp v1.0.0 于 2026 年 11 月 13 日发布,这是项目首个遵循语义化版本管理的稳定版:今后涉及公开 C API 的破坏性变更,都必须提升主版本号。GitHub 已将 v1.0.0 标记为最新版。发布说明将这次更新定位为一次清理与兼容性版本,重点包括 API 移除、新缓存机制和更多模型支持。

v1.0 带来的是版本承诺,不是性能加速

根据发布说明中的 API 变更部分,稳定性承诺覆盖的是 llama.h 里的公开 C API。CLI 参数、服务器路由和 nightly 构建仍可能继续变化。需要可复现构建时,应固定使用 v1.0.0 标签;只有在确实需要最新修复时,再考虑按提交使用 nightly 版本。发布页同时列出了 nightly b12359 和 v1.0.0。

“这是否意味着他们会开始稳定 CLI 参数,而不是每个版本都改一次,搞到最后没有任何应用能真正依赖上游?”——u/halvacoffee,发表于 r/LocalLLaMA

先做升级检查:旧脚本和集成需要确认这 4 件事

下面这些兼容性变化最容易影响旧环境。先全局搜索:

grep -rn "llama_set_warmup\|clip\.h\|--mmap\|--no-mmap\|--defrag-thold\|:8080\|localhost:8080" .

检查 1:C 函数被移除——更新绑定代码

根据发布说明,v1.0 从 llama.h 中移除了 35 个已弃用函数,其中包括 llama_set_warmup;同时还单独移除了 defrag_thold 字段和 --defrag-thold 选项。一个符号也发生了改名:llama_set_embd_state_src 变为 llama_set_ctx_state_src。此外,NextN API 已纳入 llama.h。完整的移除列表请查看上方链接中的发布变更记录。

检查 2:服务器端口从 8080 改为 9931——更新 URL

llama-server 现在默认监听 http://127.0.0.1:9931。旧示例通常使用 8080,Axiomi 配置指南也记录了这一差异。请更新健康检查和编辑器的基础 URL;如果想保留旧端口映射,也可以传入 --port 8080。

检查 3:--mmap 不再接受——改用 -lm 加载模式

如果构建后使用 --mmap 出现 error: invalid argument: --mmap,请改用文档提供的 -lm, --load-mode。可选值包括 auto、none、mmap、mlock、mmap+mlock 和 dio。建议先从 -lm auto 开始,再通过 llama-cli --help 和一次具有代表性的加载测试确认实际行为。

检查 4:clip.h 已移除——将视觉代码迁移到 mtmd

依赖 clip.h 的视觉集成需要迁移到统一的 mtmd。根据发布说明,它可以在多个子上下文之间共享计算缓冲区。升级视觉流水线前,建议先查看发布说明中的多模态部分,确认对应模型的注意事项。

llama.cpp v1.0 到底新增了什么

根据发布说明,以下 5 项变化对本地运行最值得关注。

功能作用适用人群
FP8 KV 缓存(-ctk/-ctv f8_e4m3)相比 f16 减少长上下文所需的 KV 缓存内存显存紧张、需要长上下文聊天或 RAG 的用户
MoE 专家缓存(moe_cache_size、moe_cache_cpu_share)缓存专家,并可配置 CPU 参与比例运行超出显存容量的 MoE 模型的用户
兼容 OpenAI 的 /v1/audio/speech,以及 /tts 的 temperature 和 drama-3 TTS增加服务端语音生成能力希望不依赖云端 TTS 的本地语音应用
服务器加固(选择启用的 --allow-unauthenticated-tools、--media-allow-private-urls;以及 CORS、DNS 重绑定、SSRF、MCP 取消相关修复)处理多项本地服务暴露和工具执行问题监听地址超出 127.0.0.1 的用户
新增模型支持(Kimi-K3.1-Pro、Ripple-65B-Preview dense 65B、xing4_0 以及视觉模型支持)扩大 GGUF 模型覆盖范围关注这些模型发布的用户

安装并启动兼容 OpenAI 的服务器

下面这套流程采用了官方安装文档和 Axiomi 配置指南中的新默认设置:端口为 9931,使用 llama-cli / llama-server,并通过 -hf 下载模型。

1. 安装:

curl -LsSf https://llama.app/install.sh | sh

也可以使用包管理器,或从发布页面下载预编译 ZIP。安装后用 llama-cli --version 验证。若硬件不受支持、需要自定义补丁或使用尚未合并的修复,则应改为从源码构建。

2. 在终端中聊天:

llama-cli -hf ggml-org/Qwen3.5-0.8B-GGUF -c 8192

根据 Axiomi 指南,-hf 会从 Hugging Face 缓存模型;如果没有提供 :quant 后缀,就会选择 Q4_K_M。默认的 --fit on 则会调整未明确设置的参数,以适配设备内存。

3. 提供本地 API:

llama-server -hf ggml-org/Qwen3.5-0.8B-GGUF -c 8192
# open http://127.0.0.1:9931

可用路由包括 /v1/chat/completions、/v1/responses、/v1/embeddings、/v1/messages 和 /v1/audio/speech(Axiomi 路由列表)。可以用下面的命令做基本测试:

curl http://localhost:9931/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"messages":[{"role":"user","content":"Explain GGUF in one sentence."}]}'

同一份指南中的 Python 示例使用 base_url="http://localhost:9931/v1" 和 api_key="no-key",适用于本地单模型服务。仅供本机使用时,请保持监听地址为 127.0.0.1。

v1.0、Nightly、封装工具和托管 API:该怎么选

选项适合场景需要注意
固定 v1.0.0发布应用或教程,需要可复现构建错过 11 月 13 日之后合并的修复
跟踪 nightly(b12359+)需要最新模型支持或后端修复参数和行为仍可能变化
Ollama / LM Studio希望使用开箱即用的库或 GUI,不想处理大量参数通常无法直接控制层数、缓存和服务器参数
托管 API需要弹性服务,或不想受本地显存上限限制通常需要按 token 付费;数据会离开本机

常见问题

v1.0 稳定吗?现有环境还能继续用吗?

稳定性承诺针对公开 C API,CLI 参数、服务器路由和 nightly 构建则不在此承诺范围内。升级前,请搜索 llama_set_warmup、clip.h、--mmap、--defrag-thold 以及硬编码的 8080。

一个 8B 模型需要多少内存?

Tech Insider 的容量表显示,8B 模型使用 Q4_K_M 时约需 4.9 GB,而未量化版本需要 32.1 GB;这里还没有计入上下文和运行时开销。经验上,最好使用 llama-bench 在自己的设备上实测,因为小模型的 CPU 数据并不能直接套用。

凡是要交付的东西,都固定使用 v1.0

在 CI 中固定该标签,同时保留一台机器跟踪 nightly;升级封装工具前,先让它们针对固定版本的服务器重新测试。