雷蓓蓓 2023-07-10 15:26 采纳率: 100%
浏览 34
已结题

GPT模型调用时抛出openai.error.RateLimitError

最近想在python里调用gpt模型的api来实现一个聊天机器人。但是在运行代码时会报错:

Traceback (most recent call last):
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\tenacity\__init__.py", line 382, in __call__
    result = fn(*args, **kwargs)
  File "d:\编程资料\编程语言\python\我的程序\ChatGPT.py", line 11, in completion_with_backoff
    return openai.Completion.create(**kwargs)
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai\api_resources\completion.py", line 25, in create
    return super().create(*args, **kwargs)
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai\api_resources\abstract\engine_api_resource.py", line 153, in create
    response, _, api_key = requestor.request(
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai\api_requestor.py", line 298, in request
    resp, got_stream = self._interpret_response(result, stream)
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai\api_requestor.py", line 700, in _interpret_response
    self._interpret_response_line(
  File "C:\Users\王铭瑄\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\openai\api_requestor.py", line 763, in _interpret_response_line
    raise self.handle_error_response(
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.

这个错误是因为调用gpt-3.5-torbo频率超过限制造成的,但是程序调用频率没超过openai的官方文档里说的。代码:

import openai
import os
from tenacity import (
    retry,
    stop_after_attempt,
    wait_random_exponential,
)
 
@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))
def completion_with_backoff(**kwargs):
    return openai.Completion.create(**kwargs)



ENCRYPTED_OPENAI_API_KEY = "..."
openai.api_key = ENCRYPTED_OPENAI_API_KEY



while True:
    q = input("问题:")
    # res=openai.ChatCompletion.create(
    #     model="gpt-3.5-turbo",
    #     messages=[
    #         {"role":"user","content":q}
    #     ]
    # )
    res = completion_with_backoff(model="gpt-3.5-turbo",
                                   messages=[
                                       {"role": "user", "content": q}
                                   ]
                                   )
    print(res["choices"][0]["message"]["content"])


(运行此代码时开了代理)
请问大家为什么会抛出openai.error.RateLimitError以及如何解决?

  • 写回答

1条回答 默认 最新

  • 大师兄6668 Python领域新星创作者 2023-07-12 16:26
    关注

    这个报错是说,你的api额度用完了,现在没有钱了,需要充值。。。你还用的是3.5的apikey吗,那个免费的额度是有有效期的,你看看
    是不是额度已经过期了。
    查看额度的链接是这个:
    https://platform.openai.com/account/usage

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月10日

悬赏问题

  • ¥30 stm32f103c8t6制作万能红外遥控器
  • ¥15 有人会fastcrud写前端页面吗
  • ¥15 如何解除Uniaccess管控
  • ¥15 微信小程序跳转关联公众号
  • ¥15 Java AES 算法 加密采用24位向量报错如何处理?
  • ¥15 使用X11可以找到托盘句柄,监控到窗口点击事件但是如何在监听的同时获取托盘中应用的上下文菜单句柄
  • ¥45 字符串操作——数组越界问题
  • ¥15 Loss下降到0.08时不在下降调整学习率也没用
  • ¥15 QT+FFmpeg使用GPU加速解码
  • ¥15 为什么投影机用酷喵播放电影放一段时间就播放不下去了?提示发生未知故障,有什么解决办法吗?