zhangjf commited on
Commit
123fa30
·
1 Parent(s): 25be74c

sleep for long quests

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -3,6 +3,7 @@ import tiktoken
3
 
4
  import datetime
5
  import json
 
6
  import os
7
 
8
  openai.api_key = os.getenv('API_KEY')
@@ -14,17 +15,21 @@ def ask(question, history, behavior):
14
  openai.request_times += 1
15
  print(f"request times {openai.request_times}: {datetime.datetime.now()}: {question}")
16
  try:
 
 
 
 
 
 
 
 
 
 
 
 
17
  response = openai.ChatCompletion.create(
18
  model="gpt-3.5-turbo",
19
- messages=forget_long_term(
20
- [
21
- {"role":"system", "content":content}
22
- for content in behavior
23
- ] + [
24
- {"role":"user" if i%2==0 else "assistant", "content":content}
25
- for i,content in enumerate(history + [question])
26
- ]
27
- )
28
  )["choices"][0]["message"]["content"]
29
  while response.startswith("\n"):
30
  response = response[1:]
@@ -182,4 +187,5 @@ with gr.Blocks() as demo:
182
  button_rtr.click(fn=retry, inputs=[txt, state, behavior], outputs=[txt, state, chatbot, downloadfile])
183
  button_clr.click(fn=lambda :([],[]), inputs=None, outputs=[chatbot, state])
184
 
 
185
  demo.launch()
 
3
 
4
  import datetime
5
  import json
6
+ import time
7
  import os
8
 
9
  openai.api_key = os.getenv('API_KEY')
 
15
  openai.request_times += 1
16
  print(f"request times {openai.request_times}: {datetime.datetime.now()}: {question}")
17
  try:
18
+ massages = [
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
+ length_messages = num_tokens_from_messages(messages)
26
+ time_penalty = (length_messages-1000)//10
27
+ if time_penalty>0:
28
+ print(f"sleep for {time_penalty:.2f}s for too long a quest: {length_messages}")
29
+ time.sleep(time_penalty)
30
  response = openai.ChatCompletion.create(
31
  model="gpt-3.5-turbo",
32
+ messages=forget_long_term(msaages)
 
 
 
 
 
 
 
 
33
  )["choices"][0]["message"]["content"]
34
  while response.startswith("\n"):
35
  response = response[1:]
 
187
  button_rtr.click(fn=retry, inputs=[txt, state, behavior], outputs=[txt, state, chatbot, downloadfile])
188
  button_clr.click(fn=lambda :([],[]), inputs=None, outputs=[chatbot, state])
189
 
190
+ demo.queue(concurrency_count=3, max_size=10)
191
  demo.launch()