OpenAI ChatGPT (GPT-3.5) API错误429: "You exceeded your current quota, please check your plan and billing details"

回答 5 浏览 6.1万 2023-03-31

我正在制作一个Python脚本,通过其API使用OpenAI。然而,我得到了这个错误:

openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details

我的脚本是这样的:

#!/usr/bin/env python3.8
# -*- coding: utf-8 -*-

import openai
openai.api_key = "<My PAI Key>"

completion = openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
    {"role": "user", "content": "Tell the world about the ChatGPT API in the style of a pirate."}
  ]
)

print(completion.choices[0].message.content)

我把shebang声明为python3.8,因为我用的是pyenv。我认为它应该工作,因为我做了0个API请求,所以我假设我的代码中有一个错误。

Unix 提问于2023-03-31
你刚才启用了计费功能吗?当我这样做的时候,过了几分钟才开始工作(可能是10-15分钟),在那之前,我得到的正是这个错误信息。dcferreira 2023-03-31
我想我所有的选项都是默认的,只是我在10天前创建了一个令牌,今天当我要使用它时,它无法读出,所以我创建了一个新的令牌,并删除了旧的。然后我改变了我的"组织"名称。但没有其他东西。Unix 2023-03-31
如果可能有帮助的话,我通过激活platform.openai.com/account/billing/overview中的'pay as you go'选项来解决这个问题。TL;DR:即使你有一个付费的ChatGPT账户,你仍然需要为使用OpenAI API付费。albus_c 2023-04-08
5 个回答
#1楼 已采纳
得票数 45

TL;DR:要升级到付费计划,请设置付费帐户,添加信用卡或借记卡,并生成新的 API 密钥(如果您的旧 API 密钥是在升级前生成的)。

问题的解决

正如官方 OpenAI 文档中所述:

类型 概述
RateLimitError 原因:你已经达到了你指定的速率限制。
解决方法:给你的请求加点节奏。在我们的速率限制指南中阅读更多内容。

此外,阅读更多关于 错误代码 429 - 您超出了当前配额,请检查您的计划和账单明细

This (i.e., 429) error message indicates that you have hit your maximum monthly spend (hard limit) for the API. This means that you have consumed all the credits or units allocated to your plan and have reached the limit of your billing cycle. This could happen for several reasons, such as:

  • You are using a high-volume or complex service that consumes a lot of credits or units per request.

  • You are using a large or diverse data set that requires a lot of requests to process.

  • Your limit is set too low for your organization’s usage.


你是在一段时间前注册的吗?

你得到的错误429是因为你用完了所有的免费代币,或者是你注册后已经过了3个月。

正如官方的OpenAI文章中所说:

To explore and experiment with the API, all new users get $5 worth of free tokens. These tokens expire after 3 months.

After the quota has passed you can choose to enter billing information to upgrade to a paid plan and continue your use of the API on pay-as-you-go basis. If no billing information is entered you will still have login access, but will be unable to make any further API requests.

Please see the pricing page for the latest information on pay-as-you-go pricing.

注意:如果你在更早的时候注册(例如,在2022年12月),你得到了价值18美元的免费代用券。

使用情况仪表板中检查您的API使用情况。

例如,我的免费试用期明天就到期了,这是我现在在使用情况仪表板上看到的情况:

Before expiration

这是我的仪表板在过期后的样子:

After expiration

如果我在免费试用期过后运行一个简单的脚本,我得到了以下错误:

openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

你是否创建了你的第二个账户?

你得到错误429是因为你用同一个电话号码创建了第二个OpenAI账户。似乎免费的信用是根据电话号码来给予的。

正如@SapphireFelineBytes在官方OpenAI论坛上所解释的那样

我在11月创建了一个Open AI账户,我的18美元积分在3月1日到期。因此,像你们中的许多人一样,我试着用不同的电子邮件地址创建一个新账户,但号码相同。他们给了我0美元的积分。

我现在用不同的电话号码和电子邮件尝试。这一次我得到了5美元的积分。

UPDATE:已经证实,免费信用是根据电话号码给予的,在官方的OpenAI论坛上,@logankilpatrick解释了这一点:

还要注意的是,你只能为与你的电话号码相关的第一个账户获得免费点数。以后的账户不授予免费点数。

解决方案

试着做以下工作:

  1. 设置付费账户添加信用卡或借记卡
  2. 生成一个新的API密钥,如果您的旧API密钥是在您升级到付费计划之前生成的。
Rok Benko 提问于2023-03-31
Rok Benko 修改于2023-05-26
现在我明白了。一个已知的人有18美元的免费。我浪费了0个代币,但我的仪表板中仍然有0个代币。所以在我看来,我必须获得免费的5美元代币,而这只是三个月前的事......Unix 2023-03-31
如果你进入使用仪表板,你会看到什么?我编辑了我的答案(见上面的屏幕截图)。你是否在你的账户中看到"免费试用使用量"?Rok Benko 2023-03-31
是的,而且价值是0.00美元/0.00美元。这意味着我没有免费试用的18.00美元(也没有新的5.00美元三个月)。这就像我从来没有免费的API令牌。我唯一使用的是通过网络浏览器的ChatGPT。Unix 2023-03-31
哦,哇...你有没有联系客户支持?因为这非常奇怪。Btw,通过浏览器使用ChatGPT应该不会影响你的API令牌。我真的很感兴趣,为什么你看到0.00美元/0.00美元。Rok Benko 2023-03-31
@Unix - 我创建了2个账户,有独立的电子邮件地址,但使用同一个电话号码。第一个账户被分配了18美元的信用额度 - 第二个账户没有被分配任何信用额度。很明显,这是因为我使用了同一个电话号码:help.openai.com/en/articles/… 总之,很恼火的是,信用额度在3个月后过期。我只用了1分钱(我也不知道怎么用的)。他们应该在注册和信用方面多考虑整体的用户体验。Peter 2023-04-25
#2楼
得票数 4

只需创建一个新的API密钥并使用它,它对我来说是有效的。

nayan dhabarde 提问于2023-05-08
这对我来说并不奏效。这个问题似乎与账户有关,而不是与API密钥有关。Unix 2023-05-08
好吧,基本上,我一开始没有限制,然后我更新到付费计划,观察到即使设置了付款方式也没有用。所以我创建了新的密钥,它就工作了,更新支付选项应该很容易在设置中找到。nayan dhabarde 2023-05-09
如果你的旧API密钥是在你升级到付费计划之前创建的,这就可以了。升级到付费计划后使用新的APIForth Temple 2023-05-13
对我来说也没有用。这一定是与账户有关。digitalWestie 2023-05-24
#3楼
得票数 3

你的代码看起来很好,事实上我相信这是他们网站上给出的一个例子。问题似乎出在OpenAI这边。如果你一直滚动到底部,有人在四天前发布了关于这个问题的帖子。

https://community.openai.com/t/rate-limit-error/14769/27

有些人说,如果他们等待一段时间,就会开始工作,所以也许只要坚持下去就可以了。

Brock Brown 提问于2023-03-31
#4楼
得票数 3

我也面临着同样的错误,对我来说,步骤是:

  1. 在支付方式中添加信用卡或借记卡。
  2. 在用户首选项中生成一个新的API密钥。
  3. (可选)删除旧的API密钥。
  4. 一定要设定限额,以免产生费用。

这是对gpt-3.5-turbo RPM 3,500 TPM 90,000的限制

希望对您有所帮助。

Toni Verger 提问于2023-05-10
你好,在最后一步,你能分享一下你输入的数值,以避免收费吗?谢谢。James Silva 2023-05-17
因为我的需要,我只是增加了1美元的软限制和5美元的硬限制,不可能摆脱支付,但要把限制设定为你觉得舒服的金额。Toni Verger 2023-05-19
#5楼
得票数 1

我遇到了一个类似的问题,并找到了一个对我有效的解决方案。我首先取消了我的付费账户,然后用不同的支付方式续费。接下来,我进入 "API密钥 "部分,在 "默认组织 "下拉菜单中选择我的组织,并保存更改。这个动作重置了我的软限制,但我仍然需要创建一个新的API密钥来完全解决这个问题。

  • 取消已支付的账户,用新的支付方式重新创建
  • 确认组织机构
  • 创建新的APIs密钥
Peyton Maynard 提问于2023-04-23
你能解释一下如何取消付费账户吗?我没有设置这个。Unix 2023-04-23