开源 fastapi-stream-lease:Redis 租约防 LLM 流式重复生成
Calm_Exchange_989 · reddit · 2026-10-28
作者开源了 fastapi-stream-lease(MIT、无付费层),解决 LLM 流式服务的一个生产常见泄漏:用户开第二个标签页、刷新或自动重连时,旧流仍在另一个 worker 上跑,同一用户并行多条生成,白白烧 token/GPU。按分钟限流抓不住这种「合法但并发」的流量,真正要管的是「该用户此刻全局有几条活跃流」。
实现方式:用 Redis sorted set + 原子 Lua 脚本在 FastAPI/Starlette 多 worker 间强制活跃流并发上限——
- 流式生成开始前先取带短 TTL 的租约(按用户/IP/账号维度);
- 已达上限则直接返回 429 + Retry-After,不触发任何 LLM 调用;
- 流式期间后台心跳续租,结束或断开立即释放,worker 崩溃(OOM/SIGKILL)靠 TTL 自动过期;
- 支持 WebSocket、部署时优雅排空、Redis 故障时可配置 fail-open/fail-closed。
当前 v0.6.4,CI 覆盖 Redis 5/7/8、Sentinel 与 Cluster 故障切换,100% 行分支覆盖;提供 docker compose up --build demo 可本地三标签页演示并发截断。
「编程与Agent」频道最新
- x401 协议瞄准 Agentic Web:让 HTTP 401 挑战支持 Agent 身份证明 — csuwildcat · 2026-10-29
- ExtraHand 开启 Beta:给编码 Agent 加一层多模型外循环 — cneuralnetwork · 2026-10-29
- Mirendil 推出 Lor:让智能体并行跑实验,号称顶一个 AI 实验室 — shayan_ · 2026-10-29
- Oqoqo:跨 11 个编码 Agent 给你的 MCP 服务器做评测爬山 — pegasus013 · 2026-10-29
- ProgramLab 发布:1261 个真实程序作智能体训练场,可单练也可组队 — jyangballin · 2026-10-29
- Android Studio Rabbit 2 正式版:40+ 编码智能体可直连 Android 开发 — rseroter · 2026-10-29