llama.cpp 项目发布了版本 b9923,对 server-stream 组件进行了重大重构,以解决 Server-Sent Events (SSE) 重放缓冲区的问题。此更新引入了 pimpl 模式,并将公共流函数归入 `server_stream_` 前缀下,以改进代码组织。

  • 会话和管理器状态现在由互斥锁保护,condvar 谓词在锁定下设置,同时保持取消操作的原子性以实现无锁轮询。
  • 注释已精简,专注于并发、生命周期和排序的逻辑依据,移除了仅重复代码的注释。
  • 流追踪已移至调试级别,以减少启动诊断期间的默认日志噪音。
  • `stream_read_status` 枚举已移至 .cpp 文件中,以保持在 pimpl 边界之后。

该版本包含适用于 macOS (Apple Silicon 和 Intel)、iOS、Linux (CPU、Vulkan、ROCm、OpenVINO、SYCL)、Android、Windows (CPU、CUDA 12/13、Vulkan、OpenCL、OpenVINO、SYCL、HIP) 和 openEuler 的二进制文件。