使用 langchain 速率限制器(仅限 Python)
如果在应用程序或评估器中使用 langchain Python 聊天模型,可以为模型添加速率限制器,从而在客户端控制发送到模型提供商 API 的请求频率,避免速率限制错误。
langchain 文档。
使用指数退避重试
处理速率限制错误的一种非常常见的方法是使用指数退避进行重试。指数退避重试意味着以(指数级)增加的等待时间重复重试失败的请求,直到请求成功或达到最大重试次数。使用 langchain
如果使用 langchain 组件,可以通过 .with_retry(...) / .withRetry() 方法为所有模型调用添加重试机制:
langchain 的 Python 和 JS API 参考文档。
不使用 langchain
如果不使用 langchain,可以使用其他库如 tenacity(Python)或 backoff(Python)来实现指数退避重试,或者从头开始实现。具体示例可参阅 OpenAI 文档。
限制 max_concurrency
限制对应用程序和评估器的并发调用数量是另一种降低模型调用频率的方法,从而避免速率限制错误。max_concurrency 可以直接在 evaluate() / aevaluate() 函数上设置。这通过将数据集在线程间分割来实现评估的并行化。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

