SuperAPI AI 工具集

perplexity-rate-limits

编程与开发

查看项目

更新于 10-15 23:28

技能介绍

用途:处理 Perplexity Sonar API 的速率限制。Perplexity 采用漏桶算法,允许突发容量,令牌按分配速率持续补充,限制以每分钟请求数(RPM)计,且按 API key 而非按模型计算,sonar-pro 与 sonar 共用同一 RPM。

主要能力:提供四种限流实现思路。一是带抖动的指数退避重试,仅在 429 与 5xx 时重试,延迟按 2 的幂增长并叠加随机抖动,上限可配置;二是基于 p-queue 的队列限流,设置 concurrency、interval 与 intervalCap 控制并发与间隔;三是无依赖的令牌桶类,按补充速率等待可用令牌;四是 Python 同步限流器,用 deque 记录 60 秒窗口内的请求时间戳。

使用方式:需先设置 PERPLEXITY_API_KEY,并理解 HTTP 429 响应。示例中 50 RPM 约等于 0.83 请求/秒,队列实现建议 intervalCap=1、interval=1200ms 以留出安全余量。批量查询可经队列自动限流后并行执行。

错误处理:HTTP 429 表示超出 RPM,应退避重试;Retry-After 头给出重置秒数,应严格遵循;持续 429 说明负载过高,需降低并发或加队列;突发时 429 表示桶已空,可将请求间隔设为约 1.2 秒。

适用场景:需要稳定调用 Perplexity API 的批量检索、并发请求与吞吐优化场景。

限制:资料未提供更高层级的具体 RPM 数值与价格,仅说明可联系销售获取自定义限制;Search API 约为每秒 3 次请求,属单端点限制。