llama.cpp发布b11608:server改用非std::regex方式转义特殊token
该版本提交说明称,d1-omni和kev的提示此前用std::regex_replace转义请求文本中的特殊标记,libstdc++会对名称逐字符递归,导致出现 “ a-” 这类状态;本次提交将转义改为不使用std::regex。
AI解读:这次变更针对的是llama.cpp的server端转义逻辑,动因与libstdc++在std::regex上逐字符递归有关,提交说明给出的现象是出现 “ a-” 状态。
提交说明只覆盖d1-omni与kev这两类提示的处理路径,没有说明其他提示模板或全部请求路径是否同样改动。
发布页同时列出多平台预编译产物,包括macOS arm64/x64、iOS XCFramework、Ubuntu(CPU/Vulkan/CUDA 12/CUDA 13/ROCm 10.0/OpenVINO/SYCL)、Android、Windows以及Snapdragon相关构建。
macOS Apple Silicon的KleidiAI构建和openEuler构建在该发布页标注为DISABLED,并分别指向相关PR编号。
llama.cpp发布b11608版本。该版本提交说明标题为“server : escape the special tokens without std::regex (#30243)”。
本次改动的对象与原因
提交说明称,d1-omni和kev的提示此前使用std::regex_replace来转义请求文本中的特殊标记。由于libstdc++会对名称的每个字符递归,会出现 “ a-” 状态。此次提交的改动是转义特殊token时不使用std::regex。
发布页列出的平台产物
发布页同时提供b11608的多平台预编译产物,覆盖macOS/iOS、Linux、Android、Windows和UI。
- macOS:Apple Silicon(arm64)、Intel(x64)、iOS XCFramework;其中macOS Apple Silicon(arm64,启用KleidiAI)标注DISABLED,并指向PR 23780。
- Linux:Ubuntu x64/arm64/s390x CPU、Ubuntu x64与arm64 Vulkan、Ubuntu x64 CUDA 12.8、Ubuntu x64与arm64 CUDA 13.4、Ubuntu x64 ROCm 10.0、Ubuntu x64 OpenVINO 2026.4.1、Ubuntu x64 SYCL FP32/FP16,以及Linux arm64 Snapdragon(CPU、Adreno GPU、Hexagon NPU)并附设置指南。
- Android:Android arm64 CPU、Android arm64 Snapdragon(CPU、Adreno GPU、Hexagon NPU)并附设置指南。
- Windows:x64/arm64 CPU、arm64 OpenCL Adreno、x64 CUDA 12.4、x64与arm64 CUDA 13.4、x64与arm64 Vulkan、x64 OpenVINO 2026.4.1、x64 SYCL、x64 ROCm 10.0;CUDA版本另附对应DLL包。
- openEuler:该发布页整体标注DISABLED,并指向PR 23705;列出的构建包括x86 310p、x86 910b ACL Graph、aarch64 310p、aarch64 910b ACL Graph,但均无可用下载链接。
- 另提供UI压缩包。