zhangjf commited on
Commit
25bb53b
·
1 Parent(s): 6057b5f

sleep for long quests

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -12,17 +12,21 @@ def ask(question, history, behavior):
12
  openai.request_times += 1
13
  print(f"request times {openai.request_times}: {datetime.datetime.now()}: {question}")
14
  try:
 
 
 
 
 
 
 
 
 
 
 
 
15
  response = openai.ChatCompletion.create(
16
  model="gpt-3.5-turbo",
17
- messages=forget_long_term(
18
- [
19
- {"role":"system", "content":content}
20
- for content in behavior
21
- ] + [
22
- {"role":"user" if i%2==0 else "assistant", "content":content}
23
- for i,content in enumerate(history + [question])
24
- ]
25
- )
26
  )["choices"][0]["message"]["content"]
27
  while response.startswith("\n"):
28
  response = response[1:]
@@ -30,6 +34,7 @@ def ask(question, history, behavior):
30
  print(e)
31
  response = 'Timeout! Please wait a few minutes and retry'
32
  history = history + [question, response]
 
33
  return history
34
 
35
  def num_tokens_from_messages(messages, model="gpt-3.5-turbo"):
@@ -162,4 +167,5 @@ with gr.Blocks() as demo:
162
  button_gen.click(fn=predict, inputs=[txt, state, behavior], outputs=[txt, state, chatbot])
163
  button_clr.click(fn=lambda :([],[]), inputs=None, outputs=[chatbot, state])
164
 
 
165
  demo.launch()
 
12
  openai.request_times += 1
13
  print(f"request times {openai.request_times}: {datetime.datetime.now()}: {question}")
14
  try:
15
+ messages = [
16
+ {"role":"system", "content":content}
17
+ for content in behavior
18
+ ] + [
19
+ {"role":"user" if i%2==0 else "assistant", "content":content}
20
+ for i,content in enumerate(history + [question])
21
+ ]
22
+ length_messages = num_tokens_from_messages(messages)
23
+ time_penalty = (length_messages-1000)//10
24
+ if time_penalty>0:
25
+ print(f"sleep for {time_penalty:.2f}s for too long a quest: {length_messages}")
26
+ time.sleep(time_penalty)
27
  response = openai.ChatCompletion.create(
28
  model="gpt-3.5-turbo",
29
+ messages=forget_long_term(messages)
 
 
 
 
 
 
 
 
30
  )["choices"][0]["message"]["content"]
31
  while response.startswith("\n"):
32
  response = response[1:]
 
34
  print(e)
35
  response = 'Timeout! Please wait a few minutes and retry'
36
  history = history + [question, response]
37
+ record_dialogue(history)
38
  return history
39
 
40
  def num_tokens_from_messages(messages, model="gpt-3.5-turbo"):
 
167
  button_gen.click(fn=predict, inputs=[txt, state, behavior], outputs=[txt, state, chatbot])
168
  button_clr.click(fn=lambda :([],[]), inputs=None, outputs=[chatbot, state])
169
 
170
+ demo.queue(concurrency_count=3, max_size=10)
171
  demo.launch()