开源llama.cpp Releases·原文 2026年9月8日

llama.cpp b10856发布:拆分模板解析器,chat.cpp规模缩减逾一半

llama.cpp发布b10856版本,将 14 个专用模板解析器从chat.cpp拆分为独立文件,chat.cpp代码行数降至 1513 行,无功能变化。

AI解读:这次更新是一次纯代码重构,目的是让庞大的chat.cpp文件更易维护。14 个不同模型的专用模板解析器被各自拆成独立文件,模板的检测和分发逻辑仍留在chat.cpp中,因此对外行为没有任何变化。chat.cpp从 3915 行降到 1513 行,意味着后续想改某个模型的模板逻辑,可以直接进入对应解析器,不需要在两千多行代码里翻找,这将降低开发者的维护成本。对于普通用户,此版本不引入新功能和性能改动,不需要立即升级或调整使用方式。若你关注llama.cpp的开发进度,这个拆分也释放出项目正在推动代码模块化的信号,短期内可能为后续更细粒度的功能迭代铺路。

llama.cpp发布b10856版本,核心改动是将chat.cpp中 14 个专用模板解析器拆分到common/parsers/各自的单文件中,主要目的是提升代码可维护性,且明确『无功能变化』。该版本由llama.cpp Releases发布,涉及对应的Windows、macOS、Linux等平台的预构建二进制同步更新。

模板解析器拆分详情

根据发布说明,此次调整将 14 个专用模板解析器迁出chat.cpp,每个解析器独立成一个文件,mirroring src/models的拆分方式。chat.cpp保留模板检测逻辑于common_chat_try_specialized_template(),代码行数由此前的 3915 行降至 1513 行。

在common/parsers/parsers.h中集中声明共享辅助函数与各解析器接口。foreach_function/foreach_parameter这两个函数因chat.cpp不再使用而改为inline;common_chat_template_direct_apply_impl与common_chat_template_generation_prompt_impl不再需要static,其默认参数移至头文件。

解析器专属辅助函数随对应解析器迁移:is_lfm2_template、deepseek_v4_sort_tool_results以及gemma4 turn builder。发布说明标注此PR由Claude Opus 5协助,并强调为纯结构拆分,不涉及运行输出变化。

构建系统源列表调整

另一处改进是构建系统相关:原先采用的file(GLOB) 方式在源文件增删时不会触发CMake重新生成,导致增量构建可能仍在编译旧文件集。此次改为在common/parsers/sources.cmake中显式列举所有解析器源文件,并从common/CMakeLists.txt中引用该文件,从而修复增量构建遗漏风险。

信息来源

llama.cpp Releases原始来源