SuperAPI AI 工具集

Convex Agents Rate Limiting

智能体与模型

查看项目

更新于 10-15 23:24

技能介绍

用途:为 Convex 智能体实现限流,防止消息刷屏、管理 LLM 成本、保证多用户公平分配资源,也服务于基于令牌用量的计费。适用情形包括:限制单用户消息频率、限制每用户总令牌数、实现突发容量、设置全局 API 上限以不超提供商配额。

主要能力:使用 @convex-dev/rate-limiter 的 RateLimiter 配置多种限流策略。sendMessage 用 fixed window(5 * SECOND、rate 1、capacity 2)限制短时消息频率;globalSendMessage 与 globalTokenUsage 用 token bucket 设全局速率;tokenUsagePerUser 用 token bucket(MINUTE、rate 2000、capacity 10000)限制单用户令牌。支持 rateLimiter.limit 扣减额度、rateLimiter.check 预检,以及 throws 抛出 RateLimitError,错误含 retryAfter 供客户端退避重试。Agent 的 usageHandler 可用 usage.totalTokens 在生成后以 reserve 记录实际用量。另提供 useRateLimit 与 isRateLimitError 供前端检查状态并展示重试时间。

使用方式:在 mutation/action 中调用 limit 或 check,按 userId 作 key;先估算令牌(例如按问题长度除以 4,再乘以 3 预估回复)再 check,生成后由 usageHandler 回填实际用量。原则是频率用固定窗口、容量用令牌桶、事前估算事后跟踪、全局与按用户双层限制,并让错误可重试。

限制:资料未提供具体平台、价格、安装命令与效果数据;示例代码仅为文档片段,实际配置需结合自身项目与提供商配额。