【报错】 openai.error.RateLimitError: Rate limit reached for default-text-davinci-003 in organization

2023-11-18

使用open AI的API调用模型的时候,会出现以下报错:

openai.error.RateLimitError: Rate limit reached for default-text-davinci-003 in organization XXX on requests per min. Limit: 60 / min. Please try again in 1s.

原因就是调用API的频率太过于频繁。

在这里插入图片描述

例如,free trial的用户,每分钟限制的request的上限是20次,15万tokens。超过这部分,访问就会受拒。

解决方案

官方提供了解决方案:

import openai  # for OpenAI API calls
from tenacity import (
    retry,
    stop_after_attempt,
    wait_random_exponential,
)  # for exponential backoff


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


completion_with_backoff(model="text-davinci-002", prompt="Once upon a time,")

如上图,安装tenacity包,然后给的自己的脚本,访问API那段函数,添加修饰:@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))

这样的话,在访问之间会自动增加一定时间间隔,并在访问受拒之后,再次进行尝试。


除了上述tenacity,还可以使用backoff。以及尝试自己手动添加停顿等。

import backoff  # for exponential backoff
import openai  # for OpenAI API calls


@backoff.on_exception(backoff.expo, openai.error.RateLimitError)
def completions_with_backoff(**kwargs):
    return openai.Completion.create(**kwargs)


completions_with_backoff(model="text-davinci-002", prompt="Once upon a time,")

参考:

笔者还是建议读者去阅读官方的notebook:
How_to_handle_rate_limits.ipynb

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【报错】 openai.error.RateLimitError: Rate limit reached for default-text-davinci-003 in organization 的相关文章

  • Tkinter:消息小部件中锚点选项的正确值是多少?

    我一直在学习 tkinterTkinter 中的消息小部件 https python course eu tkinter message widget in tkinter php at Python 课程和教程 https python
  • 如何指定聚类的距离函数?

    我想对给定距离的点进行聚类 奇怪的是 似乎 scipy 和 sklearn 聚类方法都不允许指定距离函数 例如 在sklearn cluster AgglomerativeClustering 我唯一可以做的就是输入一个亲和力矩阵 这将非常
  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 将 yerr/xerr 绘制为阴影区域而不是误差线

    在 matplotlib 中 如何将误差绘制为阴影区域而不是误差条 例如 而不是 忽略示例图中各点之间的平滑插值 这需要进行一些手动插值 或者只是获得更高分辨率的数据 您可以使用pyplot fill between https matpl
  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 定义Python源代码编码的正确方法

    PEP 263 http www python org dev peps pep 0263 定义如何声明Python源代码编码 通常 Python 文件的前两行应以以下内容开头 usr bin python coding
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 检查 python 中命令行参数的数量

    我是蟒蛇新手 还是把脚弄湿了 我正在尝试做这样的事情 import sys if len sys argv lt 3 or lt len sys argv gt 3 print This script will compare two fi
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • 如何在 Python 中的函数入口、内部和退出处进行日志记录

    我希望能够使用 Python 日志记录工具在我的代码中进行简单且一致的日志记录 我能够执行以下操作 我希望所有现有 未来的模块和函数都有 输入 和 完成 日志消息 我不想添加相同的代码片段来定义日志记录参数 如下所示don t want t
  • python 中的 h2o 框架子集

    如何在 python 中对 h2o 框架进行子集化 如果 x 是一个 df 并且 Origin 是一个变量 那么在 pandas 中我们通常可以通过以下方式进行子集化 x x Origin AAF 但使用 h2o 框架会出现以下错误 H2O
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 仅当某些值相等时,如何才能将一个文本文件中的值替换为另一个文本文件中的其他值?

    我有一个名为finalscores txt我想创建一个 python 脚本 它将打开它并从两个单独的列中读取值 这是我的finalscores txt file Atom nVa predppm avgppm stdev delta QPr
  • 使用标签或 href 传递 Django 数据

    我有一个包含链接的表 当单击该链接进行更多操作时 我想将一些数据传递给我的函数 my html table tbody for query in queries tr td value a href internal my func que
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • Python守护进程:保持日志记录

    我有一个将一些数据记录到磁盘的脚本 logging basicConfig filename davis debug log level logging DEBUG logging basicConfig filename davis er
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • 多租户mysql架构_团队开发框架实战—多租户架构

    1 对多租户的理解 多租户定义 多租户技术或称多重租赁技术 简称SaaS 是一种软件架构技术 是实现如何在多用户环境下 此处的多用户一般是面向企业用户 共用相同的系统或程序组件 并且可确保各用户间数据的隔离性 简单讲 在一台服务器上运行单个
  • XSS 跨站脚本

    XSS 跨站脚本 一 什么是XSS XSS Cross site Scripting 中文名跨站脚本攻击 其原理是攻击者利用浏览器执行前端代码 HTML CSS JavaScript 的特性 将恶意的JavaScript代码插入到页面中 当
  • LVGL动态图GIF实现 v7 version

    lvglv8 1以上的版本自带动态图库 github网址 LVGL GitHub 主要包含四个文件 gifdec c gifdec h lv gif c lvgif h 目录 lvgl release v8 1 lvgl release v
  • Cortex-AX系列性能对比

    首先要明确一个概念 Cortex并不是一种架构 而是ARM的一个系列 Cortex A系列 而我们通常意义的ARM7 ARM9 ARM11才是所谓的架构 同时需注意 Cortex A5 Cortex A8 Cortex A9 Cortex
  • ELF文件格式

    在介绍ELF格式之前 先简单说明一下可执行文件的生成流程 1 编写C源文件 或汇编源文件 2 准备共享库格式的目标文件 shared object file 如数学库 标准库 2 用编译器 compiler 将C编译成可重定位格式的目标文件
  • 关于pickle的load,loads等

    基础知识 python自带的file函数只能存储和读取字符串格式的数据 pickle可以存储和读取成其他格式比如list dict的数据 来自 https www zhihu com question 38355589 如需更详细 关于lo
  • 三十八、java版 SpringCloud分布式微服务云架构之Java 网络编程

    Java 网络编程 网络编程是指编写运行在多个设备 计算机 的程序 这些设备都通过网络连接起来 java net 包中 J2SE 的 API 包含有类和接口 它们提供低层次的通信细节 你可以直接使用这些类和接口 来专注于解决问题 而不用关注
  • windows定时自动备份

    windows定时自动备份 1 创建bat脚本 1 本地备份 复制以下代码保存该文件 修改文件名为以 bat结尾的文件 echo off echo 正在复制 C a 文件夹的内容至 D b 文件夹下 xcopy C a D b e I d
  • pip 命令行“ImportError: No Module Named Typing”

    pip遇到ImportError No Module Named Typing 原因在于运行的是python2版本 升级到python3就不会有这个问题 但是因为Mac中同时有python2和python3 可以把pip安装在python3
  • 如何写出高效的sql的一点想法及oracle常用hint用法

    author skate time 2009 05 15 如何写出高效的sql的一点想法 迷糊的问题 1 什么样的sql 才算是高效的sql呢 2 sql为什么不走索引 如何让sql走索引 即改变sql的执行计划3 索引有哪几种 4 什时候
  • 多显示器设置检测不到_那些与显示设置相关的事

    点击上方 蓝字 点击右上角 选 设为星标 标星 防走丢 那些与显示设置相关的事 本文阅读目录 显示分辨率的概念与设置 刷新率的概念与设置 不能满屏显示的原因 显卡控制面板 控制台的概念 多显示器设置 一 显示分辨率的概念与设置 显示分辨率
  • mysql 第10 天

    变量 1 定义 declare DECLARE var name type DEFAULT value 例如 定义一个 DATE 类型的变量 名称是 last month start DECLARE last month start DAT
  • 【话题】感觉和身边其他人有差距怎么办?也许自我调整很重要

    每个人能力有限 水平高低不同 我们身在大环境里 虽然在同一个起跑线上 但是时间久了 你会发现 并越来越感觉到和身边其他人有了差距 慢慢的会有一定的落差感 怎么办呢 通过此篇文章我们来简单聊聊 目录 一 焦虑怎么办 1 接受自己的不完美 2
  • P1182 数列分段 Section II

    题目描述 对于给定的一个长度为N的正整数数列 A 现要将其分成 M M N 段 并要求每段连续 且每段和的最大值最小 关于最大值最小 例如一数列 4 2 4 5 1 要分成 3 段 将其如下分段 4 2 4 5 1 第 1 段和为 6 第
  • java jsonarray 追加_我们如何在Java中将JSONArray添加到JSONObject?

    该JSON是用于交换数据的基于文本的格式 它是轻量级的组件 与语言无关 我们还可以将JSONArray添加到JSONObject 我们需要首先将一些项目添加到ArrayList中 并将此列表传递给JSONArray类的put 方法 最后使用
  • go dll 传char*

    go调用dll中方法参数为 char类型 tiger1103 2017 12 25 10 58发布 1224浏览 问与答 我有一个dll库 里面有一个C实现的方法 int GetPeopleName char strTmp int strL
  • stateflow基础知识之(时序逻辑)

    stateflow状态转移和动作过程中 可以使用两种类型的时序逻辑 基于事件和绝对时间 基于事件的时序逻辑可跟踪重复发生的事件 绝对时间时序逻辑则基于 Stateflow 图的仿真时间定义时间段 要对这些重复事件或仿真时间进行操作 可以使用
  • 总结:对Java内存模型JMM的理解

    JMM规定了线程的工作内存和主内存的交互关系 以及线程之间的可见性和程序的执行顺序 一方面 要为程序员提供足够强的内存可见性保证 另一方面 对编译器和处理器的限制要尽可能地放松 JMM对程序员屏蔽了CPU以及OS内存的使用问题 能够使程序在
  • MySql的常见的语句总结

    目录 MySql的高级查询语句 数据准备 查询中常用的DISTINCT IN BETWEEN OR DESC ASC COUNT MAX LIMIT等关键字 SQL中关于日期的函数 SQL的分组查询和多表查询 sql的子查询以及UNION和
  • 【报错】 openai.error.RateLimitError: Rate limit reached for default-text-davinci-003 in organization

    使用open AI的API调用模型的时候 会出现以下报错 openai error RateLimitError Rate limit reached for default text davinci 003 in organization