perf: 优化线程锁相关操作

This commit is contained in:
Rock Chin
2022-12-13 16:04:51 +08:00
parent 00abab8050
commit b70a2da2ef
3 changed files with 12 additions and 5 deletions

View File

@@ -1,5 +1,7 @@
import openai
import config
inst = None
@@ -22,6 +24,7 @@ class OpenAIInteract:
response = openai.Completion.create(
prompt=prompt,
stop=stop,
timeout=config.process_message_timeout,
**self.api_params
)
return response

View File

@@ -100,9 +100,10 @@ class Session:
# 释放锁
def release_response_lock(self):
logging.debug('{},lock release,{}'.format(self.name, self.response_lock))
self.response_lock.release()
logging.debug('{},lock release successfully,{}'.format(self.name, self.response_lock))
if self.response_lock.locked():
logging.debug('{},lock release,{}'.format(self.name, self.response_lock))
self.response_lock.release()
logging.debug('{},lock release successfully,{}'.format(self.name, self.response_lock))
def __init__(self, name: str):
self.name = name
@@ -110,7 +111,7 @@ class Session:
self.last_interact_timestamp = int(time.time())
self.schedule()
self.response_lock = threading.RLock()
self.response_lock = threading.Lock()
# 设定检查session最后一次对话是否超过过期时间的计时器
def schedule(self):
@@ -144,7 +145,8 @@ class Session:
# 向API请求补全
response = pkg.openai.manager.get_inst().request_completion(self.cut_out(self.prompt + self.user_name + ':' +
text + '\n' + self.bot_name + ':',
max_rounds, max_length), self.user_name + ':')
max_rounds, max_length),
self.user_name + ':')
self.prompt += self.user_name + ':' + text + '\n' + self.bot_name + ':'
# print(response)