feat: 添加usage指令

This commit is contained in:
Rock Chin
2022-12-15 18:50:15 +08:00
parent 9e94125212
commit 5e4d0cb23f
2 changed files with 15 additions and 1 deletions

View File

@@ -98,4 +98,5 @@ help_message = """此机器人通过调用OpenAI的GPT-3大型语言模型生成
!last - 切换到前一次的对话
!next - 切换到后一次的对话
!prompt - 显示当前对话所有内容
!list - 列出所有历史会话""".format(session_expire_time // 60)
!list - 列出所有历史会话
!usage - 列出各个api-key的使用量""".format(session_expire_time // 60)

View File

@@ -8,6 +8,7 @@ from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage,
import config
import pkg.openai.session
import pkg.openai.manager
from func_timeout import func_set_timeout, FunctionTimedOut
import datetime
import logging
@@ -165,6 +166,18 @@ class QQBotManager:
reply += ",当前会话是 #{}\n".format(current)
else:
reply += ",当前处于全新会话或不在此页"
elif cmd == 'usage':
api_keys = pkg.openai.manager.get_inst().key_mgr.api_key
reply = "[bot]api-key使用情况:(阈值:{})\n".format(pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold)
using_key_name = ""
for api_key in api_keys:
reply += "{}: {} {}%\n".format(api_key,
pkg.openai.manager.get_inst().key_mgr.get_usage(api_keys[api_key]),
pkg.openai.manager.get_inst().key_mgr.get_usage(api_keys[api_key]) / pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold * 100)
if api_keys[api_key] == pkg.openai.manager.get_inst().key_mgr.using_key:
using_key_name = api_key
reply += "当前使用:{}".format(using_key_name)
except Exception as e:
self.notify_admin("{}指令执行失败:{}".format(session_name, e))
logging.exception(e)