qingxu99 commited on
Commit
ea7fd53
1 Parent(s): b2fba01

OpenAI缩减了免费用户的请求速率限制

Browse files
Files changed (2) hide show
  1. config.py +4 -3
  2. crazy_functions/crazy_utils.py +10 -2
config.py CHANGED
@@ -19,6 +19,10 @@ if USE_PROXY:
19
  else:
20
  proxies = None
21
 
 
 
 
 
22
 
23
  # [step 3]>> 以下配置可以优化体验,但大部分场合下并不需要修改
24
  # 对话窗的高度
@@ -33,9 +37,6 @@ LAYOUT = "LEFT-RIGHT" # "LEFT-RIGHT"(左右布局) # "TOP-DOWN"(上下布
33
  # 发送请求到OpenAI后,等待多久判定为超时
34
  TIMEOUT_SECONDS = 30
35
 
36
- # 多线程函数插件中,默认允许多少路线程同时访问OpenAI。OpenAI的限制是不能超过20
37
- DEFAULT_WORKER_NUM = 8
38
-
39
  # 网页的端口, -1代表随机端口
40
  WEB_PORT = -1
41
 
 
19
  else:
20
  proxies = None
21
 
22
+ # 多线程函数插件中,默认允许多少路线程同时访问OpenAI。Free trial users的限制是每分钟3次,提高限制请查询:
23
+ # https://platform.openai.com/docs/guides/rate-limits/overview
24
+ DEFAULT_WORKER_NUM = 3
25
+
26
 
27
  # [step 3]>> 以下配置可以优化体验,但大部分场合下并不需要修改
28
  # 对话窗的高度
 
37
  # 发送请求到OpenAI后,等待多久判定为超时
38
  TIMEOUT_SECONDS = 30
39
 
 
 
 
40
  # 网页的端口, -1代表随机端口
41
  WEB_PORT = -1
42
 
crazy_functions/crazy_utils.py CHANGED
@@ -221,13 +221,21 @@ def request_gpt_model_multi_threads_with_very_awesome_ui_and_high_efficiency(
221
  except:
222
  # 【第三种情况】:其他错误
223
  tb_str = '```\n' + traceback.format_exc() + '```'
 
224
  gpt_say += f"[Local Message] 警告,线程{index}在执行过程中遭遇问题, Traceback:\n\n{tb_str}\n\n"
225
  if len(mutable[index][0]) > 0: gpt_say += "此线程失败前收到的回答:\n\n" + mutable[index][0]
226
  if retry_op > 0:
227
  retry_op -= 1
228
  wait = random.randint(5, 20)
229
- for i in range(wait):# 也许等待十几秒后,情况会好转
230
- mutable[index][2] = f"等待重试 {wait-i}"; time.sleep(1)
 
 
 
 
 
 
 
231
  mutable[index][2] = f"重试中 {retry_times_at_unknown_error-retry_op}/{retry_times_at_unknown_error}"
232
  continue # 返回重试
233
  else:
 
221
  except:
222
  # 【第三种情况】:其他错误
223
  tb_str = '```\n' + traceback.format_exc() + '```'
224
+ print(tb_str)
225
  gpt_say += f"[Local Message] 警告,线程{index}在执行过程中遭遇问题, Traceback:\n\n{tb_str}\n\n"
226
  if len(mutable[index][0]) > 0: gpt_say += "此线程失败前收到的回答:\n\n" + mutable[index][0]
227
  if retry_op > 0:
228
  retry_op -= 1
229
  wait = random.randint(5, 20)
230
+ if "Rate limit reached" in tb_str:
231
+ wait = wait * 5
232
+ fail_info = "OpenAI请求速率限制 "
233
+ else:
234
+ fail_info = ""
235
+ # 也许等待十几秒后,情况会好转
236
+ for i in range(wait):
237
+ mutable[index][2] = f"{fail_info}等待重试 {wait-i}"; time.sleep(1)
238
+ # 开始重试
239
  mutable[index][2] = f"重试中 {retry_times_at_unknown_error-retry_op}/{retry_times_at_unknown_error}"
240
  continue # 返回重试
241
  else: