使用API网关对OpenAI请求进行速率限制 | Zuplo博客

作者:API传播员 · 2025-11-05 · 阅读时间:4分钟
本教程详细介绍了如何使用Zuplo API网关为OpenAI API添加速率限制功能,包括创建请求处理程序、配置API路由和实施速率限制策略,以保护API免受滥用并管理成本。

使用API网关对OpenAI请求进行速率限制

在使用AI(人工智能)模型的API中,速率限制是一种有效的保护机制。它不仅可以防止API被滥用,还能控制每个用户在一定时间内的请求数量,从而帮助管理成本。此外,速率限制还可以作为API货币化策略的一部分,通过限制用户请求数量来实现收费。

对于这些不同的应用场景,API网关(如Zuplo)通常是实现速率限制或缓存等操作逻辑的最佳位置。这是因为API网关是所有API和后端的主要入口点。在本教程中,我们将创建一个使用OpenAI API生成文本的单路径API,并为其添加速率限制功能。


创建请求处理程序

首先,在您的项目中创建一个新的请求处理程序,并将其命名为generate.ts。这个文件将包含当请求到达API时需要执行的代码。虽然您可以运行自己的服务器并将其连接到Zuplo,但在本教程中,我们将直接利用Zuplo的可编程性来创建一个简单的API。

打开新创建的文件,并在代码编辑器中粘贴以下代码,替换文件中的所有内容。完成后,点击页面底部的“全部保存”。

在代码中,您会注意到我们使用了一个名为OPENAI_API_KEY的环境变量。您需要将您的OpenAI API密钥添加到这个变量中。为此,请前往“项目设置 > 环境变量”,添加一个新变量OPENAI_API_KEY,并将您的OpenAI API密钥作为值(您可以将其标记为机密)。


配置API路由

接下来,我们将创建一个API路由,该路由将使用刚刚创建的模块来生成内容。具体步骤如下:

  1. 点击“文件 > 路由.oas.json > 添加路由”。
  2. 按如下方式配置路由:
    • 描述:生成鼓舞人心的报价
    • 路径/generate
    • 方法GET
  3. 在“请求处理程序”部分,选择您在上一步中创建的模块,并确保其类型为Function

以下是配置完成后的示例界面:

路由配置示例


添加速率限制策略

现在,我们可以为API路由添加速率限制策略。具体步骤如下:

  1. 点击路由设置中的“入站速率限制”。
  2. 使用默认配置,即每个IP地址每分钟允许2次请求。
  3. 保存策略,并点击“全部保存”。

以下是速率限制策略配置的示例界面:

速率限制配置示例


测试速率限制功能

完成配置后,点击您刚刚创建的路由,打开“测试控制台”(Test Console)。发送三次请求后,您应该会看到以下响应,提示您已达到速率限制:

速率限制响应示例

通过以上步骤,您已经成功为API添加了速率限制功能。现在,您可以有效控制用户向API发出的请求数量。


总结

通过本教程,您学习了如何使用Zuplo为OpenAI API添加速率限制功能。这不仅可以保护您的API免受滥用,还能帮助您更好地管理成本和资源。此外,您还可以探索Zuplo提供的其他策略功能,以及无需编写任何代码即可获得的开箱即用的API文档。通过这些功能,您可以更高效地管理和优化您的API服务。

原文链接: https://zuplo.com/blog/2023/10/11/rate-limiting-openai-requests