用途:处理 Groq API 的速率限制问题,覆盖 429 错误重试、请求排队与吞吐优化。Groq 在组织级别同时施加 RPM、RPD、TPM、TPD 限制,任一超限即返回 429。
主要能力:分五层组合实现。一是解析每个响应(含成功响应)中的 x-ratelimit-* 头,得到剩余容量与重置时间,并把 "1.2s"、"120ms" 这类字符串归一化为毫秒;二是用 retry-after 头配合带抖动的指数退避重试,仅重试 429 与 5xx,其他 4xx 不重试;三是用 p-queue 按套餐 RPM 设置 intervalCap(60 秒窗口)限制并发,从源头避免突发超限;四是根据响应头跟踪剩余请求与 token,在归零前主动节流;五是按模型区分限额池,首选模型被限流时回退到其他模型。
使用方式:需准备 GROQ_API_KEY(console.groq.com 获取)、Node.js 18+,安装依赖 npm install groq-sdk 与 npm install p-queue。将五步组合为一个客户端包装器(队列 → 监控 → 重试),产出 withRateLimitRetry() 包装器、RateLimitMonitor 状态监控与 p-queue 客户端。
适用场景:高并发调用、批量扇出请求、多服务共用密钥、免费额度受限等易触发 429 的情况。
限制:具体限额需查看 console.groq.com/settings/limits;大提示词会消耗 TPM,可减少 max_tokens 或压缩提示词;免费层限制较严,可升级 Developer 套餐;多服务建议使用独立 API 密钥;429 缺少 retry-after 时改用指数退避加抖动。完整代码与参考表见 implementation.md 与 reference.md。