OpenAI ChatGPT (GPT-3.5) API错误429: "You exceeded your current quota, please check your plan and billing details"
我正在制作一个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请求,所以我假设我的代码中有一个错误。
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使用情况。
例如,我的免费试用期明天就到期了,这是我现在在使用情况仪表板上看到的情况:
这是我的仪表板在过期后的样子:
如果我在免费试用期过后运行一个简单的脚本,我得到了以下错误:
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解释了这一点:
还要注意的是,你只能为与你的电话号码相关的第一个账户获得免费点数。以后的账户不授予免费点数。
解决方案
试着做以下工作:
- 设置付费账户和添加信用卡或借记卡。
- 生成一个新的API密钥,如果您的旧API密钥是在您升级到付费计划之前生成的。
只需创建一个新的API密钥并使用它,它对我来说是有效的。
你的代码看起来很好,事实上我相信这是他们网站上给出的一个例子。问题似乎出在OpenAI这边。如果你一直滚动到底部,有人在四天前发布了关于这个问题的帖子。
https://community.openai.com/t/rate-limit-error/14769/27
有些人说,如果他们等待一段时间,就会开始工作,所以也许只要坚持下去就可以了。
我也面临着同样的错误,对我来说,步骤是:
- 在支付方式中添加信用卡或借记卡。
- 在用户首选项中生成一个新的API密钥。
- (可选)删除旧的API密钥。
- 一定要设定限额,以免产生费用。
这是对gpt-3.5-turbo RPM 3,500 TPM 90,000的限制
希望对您有所帮助。
我遇到了一个类似的问题,并找到了一个对我有效的解决方案。我首先取消了我的付费账户,然后用不同的支付方式续费。接下来,我进入 "API密钥 "部分,在 "默认组织 "下拉菜单中选择我的组织,并保存更改。这个动作重置了我的软限制,但我仍然需要创建一个新的API密钥来完全解决这个问题。
- 取消已支付的账户,用新的支付方式重新创建
- 确认组织机构
- 创建新的APIs密钥