zhangjf commited on
Commit
02840bb
1 Parent(s): 1d413b9

support dynamic timeout

Browse files
Files changed (1) hide show
  1. app.py +5 -1
app.py CHANGED
@@ -1,6 +1,7 @@
1
  import openai
2
  import tiktoken
3
 
 
4
  import concurrent
5
  import collections
6
  import threading
@@ -116,6 +117,8 @@ def ask(query, timeout=600):
116
 
117
  def askingChatGPT(qs, qas, min_interval_seconds=3, max_interval_seconds=15, max_retry_times=3):
118
 
 
 
119
  for i, q in enumerate(qs):
120
  ask_start_time = time.time()
121
 
@@ -134,13 +137,14 @@ def askingChatGPT(qs, qas, min_interval_seconds=3, max_interval_seconds=15, max_
134
  retry_times = 0
135
  a = None
136
  while a is None and retry_times<max_retry_times:
137
- a = ask_(q, max_interval_seconds)
138
  retry_times += 1
139
 
140
  qas.append({"q":q, "a":a})
141
 
142
  ask_end_time = time.time()
143
  elapsed_time = ask_end_time - ask_start_time
 
144
  delayTime = min_interval_seconds - elapsed_time
145
  if delayTime>0:
146
  time.sleep(delayTime)
 
1
  import openai
2
  import tiktoken
3
 
4
+ import numpy as np
5
  import concurrent
6
  import collections
7
  import threading
 
117
 
118
  def askingChatGPT(qs, qas, min_interval_seconds=3, max_interval_seconds=15, max_retry_times=3):
119
 
120
+ history_elapsed_time = [max_interval_seconds]*10
121
+
122
  for i, q in enumerate(qs):
123
  ask_start_time = time.time()
124
 
 
137
  retry_times = 0
138
  a = None
139
  while a is None and retry_times<max_retry_times:
140
+ a = ask_(q, timeout=np.mean(sorted(history_elapsed_time)[:8]))
141
  retry_times += 1
142
 
143
  qas.append({"q":q, "a":a})
144
 
145
  ask_end_time = time.time()
146
  elapsed_time = ask_end_time - ask_start_time
147
+ history_elapsed_time = history_elapsed_time[1:] + [elapsed_time]
148
  delayTime = min_interval_seconds - elapsed_time
149
  if delayTime>0:
150
  time.sleep(delayTime)