llama.cpp b11900发布:用 171 个真实HF仓库列表固定模型解析测试
该版本把模型解析测试扩展到Hugging Face上的真实目录布局:最终保留 171 个符合GGUF命名约定的仓库列表,并记录当前主干的解析计划与缓存列表作为基准;不符合约定的仓库被排除。
AI解读:llama.cpp发布b11900版本,核心变更是一项在真实Hugging Face仓库布局上固定模型解析行为的测试合并(#30548)。
测试最初从HF API原样采集 63 个仓库列表,覆盖 1237 个主要发布者GGUF仓库中的各类文件命名模式,并按完整量化组裁剪。
后续改为 171 个符合GGUF命名约定的HF列表(小写sidecar前缀、短横线分隔组件、量化标识在最后),这些列表来自 1174 个GGUF仓库中每种布局模式各取一个(one per layout pattern),不符合约定的仓库被剔除。
测试期望按每个文件GGUF头标明的内容确定,而不是按解析器当前的输出;不一致会先汇总再整体报错。
在Windows上,部分真实分片名在写入临时缓存后会超出MAX_PATH,这类仓库的列表检查会被跳过并加注说明,其解析计划仍会检查。
同一版本照常提供macOS、iOS、Linux、Android、Windows多平台预编译包,含CUDA 12/13、Vulkan、ROCm、SYCL、OpenVINO等后端。
llama.cpp发布b11900,合入PR #30548,在真实Hugging Face仓库布局上固定模型解析的行为。该改动只涉及测试,不改变发布包的构建目标。
测试如何从 63 个列表扩大到 171 个
按发布说明,测试最初给test-model-resolution加入 63 个从HF API原样采集的仓库列表,选型依据是覆盖 1237 个主要发布者GGUF仓库中出现的每一种文件命名模式,并按完整量化组裁剪。
随后这一实现被替换为 171 个HF列表,条件是文件名遵循GGUF命名约定:小写sidecar前缀、以短横线分隔的组件、量化标识放在最后。171 个列表取自 1174 个GGUF仓库中每种布局模式各取一个,不符合约定的仓库被丢弃。每个仓库同时固定解析计划与缓存列表。
- 初版:63 个仓库列表,覆盖 1237 个GGUF仓库的命名模式
- 终版:171 个符合GGUF命名约定的列表,来源为 1174 个GGUF仓库
- 期望值以文件GGUF头标明的内容为准,而非当前解析器的选择
- 不一致会被收集后一起报告,再让测试失败
- Windows上超过MAX_PATH的分片仓库跳过列表检查,计划仍检查
发布包覆盖的平台与后端
b11900的发布产物按平台列出,包括macOS Apple Silicon(arm64)与Intel(x64)、iOS XCFramework、Ubuntu x64/arm64/s390x、Android arm64、Windows x64/arm64。
GPU与加速后端覆盖Vulkan、CUDA 12与CUDA 13、ROCm 10.0、OpenVINO 2026.4.1、SYCL FP32/FP16,以及面向骁龙的Linux/Android包(CPU、Adreno GPU、Hexagon NPU);KleidiAI的macOS arm64包和openEuler包在本次发布中标记为DISABLED。
- macOS、iOS、Linux、Android、Windows均有二进制包
- CUDA 12.4(Windows)与 12.8(Linux)、CUDA 13.4同时提供
- Vulkan、ROCm 10.0、OpenVINO、SYCL、snapdragon(CPU/GPU/NPU)后端
- macOS KleidiAI版与openEuler包本次处于禁用状态