llama.cpp b11077修复router模式API key传递:子实例不再收到 --api-key-file
在router模式下,认证归router管;此前子实例会重新用文件密钥校验,导致使用 --api-key的客户端在chat completions上收到 401,router内部的无鉴权流调用也被静默拒绝。
llama.cpp发布b11077构建,其中一项服务器端修复(PR #28938)针对router模式下的API key传递:不再把 --api-key-file转发给router启动的子实例。
背景是router模式中认证应由router统一负责。unset_reserved_args() 已经会unset LLAMA_API_KEY,但遗漏了LLAMA_ARG_API_KEY_FILE,所以当用户传入 --api-key-file时,子实例只按文件内的密钥重新校验。结果是使用 --api-key的客户端在chat completions上收到 401,对应issue #28820。
同一遗漏还影响router内部调用:不带鉴权头的请求,例如POST /v1/streams/lookup和DELETE /v1/stream,被静默拒绝并返回 401。修复方式是在unset_reserved_args() 中unset LLAMA_ARG_API_KEY_FILE,使任何API key都不再抵达子实例。
据发布说明,这样做的效果是:密钥不再出现在子进程的argv中;router接受的所有密钥都能端到端工作;router内部流调用不再返回 401。该改动关闭issue #28820。
b11077附带的构建产物
b11077作为一次常规发布,同时提供多平台二进制包。发布说明列出macOS/iOS、Linux、Android、Windows以及openEuler的产物;其中macOS的KleidiAI启用版本和openEuler相关构建标记为DISABLED。另有UI包一并发布。
- macOS:Apple Silicon(arm64)、Intel(x64)、iOS XCFramework;KleidiAI启用版标记为DISABLED
- Linux:Ubuntu x64/arm64/s390x(CPU),以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16版本,附CUDA 12.8、CUDA 13.4运行库
- Android:arm64(CPU)
- Windows:x64/arm64(CPU)、arm64(OpenCL Adreno),以及CUDA 12.4、CUDA 13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0版本,附CUDA 12.4、CUDA 13.4 DLL
- openEuler:x86 310p/910b与aarch64 310p/910b均标记为DISABLED
- 另有UI包