简易客户端节流(Python)
用asyncio.Semaphore 控制并发:
指数退避
Token 桶限速
aiolimiter 在 Python 中实现客户端令牌桶:
利用响应头
每个响应携带剩余配额头,可实现自适应节流:批量化技巧
- 合并短请求:把多条独立 prompt 拼接为一次大请求(用 system prompt 说明任务边界)。
- Embedding 一次多文本:
input接受数组,单次最多约 2048 条。 - Rerank 一次多文档:
documents一次几十到几百。 - 流式 + 早停:若答案长度可控,可让模型先输出 JSON 头,客户端用 stop sequence 提前结束。
升级配额
如以上策略仍无法满足业务,考虑:- 通过 充值 提升账户等级以获得更高配额。
- 通过 企业商务 申请专属配额与独立通道。
监控
- 控制台 → 使用统计:观察日峰值 RPM / TPM。
- 客户端日志:打印
Retry-After与x-ratelimit-*头,定位限流瓶颈。 - 接入 Prometheus / Grafana 自建监控:每次调用上报扣费 / token / 延迟。