Merge branch 'master' into program-level-restriction

This commit is contained in:
Rock Chin
2023-01-09 12:26:51 +08:00
committed by GitHub
5 changed files with 16 additions and 11 deletions
+4
View File
@@ -172,7 +172,10 @@ class QQBotManager:
event.sender.id)
break
except FunctionTimedOut:
logging.warning("person_{}: 超时".format(event.sender.id))
pkg.openai.session.get_session('person_{}'.format(event.sender.id)).release_response_lock()
if "person_{}".format(event.sender.id) in pkg.qqbot.process.processing:
pkg.qqbot.process.processing.remove('person_{}'.format(event.sender.id))
failed += 1
continue
@@ -204,6 +207,7 @@ class QQBotManager:
event.sender.id)
break
except FunctionTimedOut:
logging.warning("group_{}: 超时,重试中".format(event.group.id))
pkg.openai.session.get_session('group_{}'.format(event.group.id)).release_response_lock()
failed += 1
continue
+8 -8
View File
@@ -8,7 +8,7 @@ from func_timeout import func_set_timeout
import logging
import openai
from mirai import Image, MessageChain
from mirai import Image, MessageChain, Plain
# 这里不使用动态引入config
# 因为在这里动态引入会卡死程序
@@ -123,7 +123,7 @@ def process_message(launcher_type: str, launcher_id: int, text_message: str, mes
try:
if session_name in processing:
pkg.openai.session.get_session(session_name).release_response_lock()
return ["[bot]err:正在处理中,请稍后再试"]
return MessageChain([Plain("[bot]err:正在处理中,请稍后再试")])
processing.append(session_name)
@@ -317,19 +317,19 @@ def process_message(launcher_type: str, launcher_id: int, text_message: str, mes
reply = ["[bot]err:调用API失败,请重试或联系作者,或等待修复"]
except openai.error.RateLimitError as e:
# 尝试切换api-key
current_tokens_amt = pkg.utils.context.get_openai_manager().key_mgr.get_fee(
pkg.utils.context.get_openai_manager().key_mgr.get_using_key())
current_key_name = pkg.utils.context.get_openai_manager().key_mgr.get_key_name(
pkg.utils.context.get_openai_manager().key_mgr.using_key
)
pkg.utils.context.get_openai_manager().key_mgr.set_current_exceeded()
switched, name = pkg.utils.context.get_openai_manager().key_mgr.auto_switch()
if not switched:
mgr.notify_admin(
"API调用额度超限({}),无可用api_key,请向OpenAI账户充值或在config.py中更换api_key".format(
current_tokens_amt))
mgr.notify_admin("api-key调用额度超限({}),无可用api_key,请向OpenAI账户充值或在config.py中更换api_key".format(
current_key_name))
reply = ["[bot]err:API调用额度超额,请联系作者,或等待修复"]
else:
openai.api_key = pkg.utils.context.get_openai_manager().key_mgr.get_using_key()
mgr.notify_admin("API调用额度超限({}),接口报错,已切换到{}".format(current_tokens_amt, name))
mgr.notify_admin("api-key调用额度超限({}),接口报错,已切换到{}".format(current_key_name, name))
reply = ["[bot]err:API调用额度超额,已自动切换,请重新发送消息"]
continue
except openai.error.InvalidRequestError as e: