mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-11 08:16:03 +00:00
@@ -1,6 +1,9 @@
|
|||||||
# QChatGPT
|
# QChatGPT
|
||||||
|
|
||||||
- 交流、答疑群: 204785790
|
- 交流、答疑群: 204785790
|
||||||
|
- **进群提问前请您`确保`已经找遍文档和issue均无法解决**
|
||||||
|
- **进群提问前请您`确保`已经找遍文档和issue均无法解决**
|
||||||
|
- **进群提问前请您`确保`已经找遍文档和issue均无法解决**
|
||||||
- QQ频道机器人见[QQChannelChatGPT](https://github.com/Soulter/QQChannelChatGPT)
|
- QQ频道机器人见[QQChannelChatGPT](https://github.com/Soulter/QQChannelChatGPT)
|
||||||
|
|
||||||
通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人
|
通过调用OpenAI GPT-3模型提供的Completion API来实现一个更加智能的QQ机器人
|
||||||
|
|||||||
@@ -98,4 +98,5 @@ help_message = """此机器人通过调用OpenAI的GPT-3大型语言模型生成
|
|||||||
!last - 切换到前一次的对话
|
!last - 切换到前一次的对话
|
||||||
!next - 切换到后一次的对话
|
!next - 切换到后一次的对话
|
||||||
!prompt - 显示当前对话所有内容
|
!prompt - 显示当前对话所有内容
|
||||||
!list - 列出所有历史会话""".format(session_expire_time // 60)
|
!list - 列出所有历史会话
|
||||||
|
!usage - 列出各个api-key的使用量""".format(session_expire_time // 60)
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ class Session:
|
|||||||
if checked_rounds > max_rounds:
|
if checked_rounds > max_rounds:
|
||||||
break
|
break
|
||||||
|
|
||||||
if len(result_temp) > max_tokens:
|
if int((len(result_temp.encode('utf-8')) - len(result_temp)) / 2 + len(result_temp)) > max_tokens:
|
||||||
break
|
break
|
||||||
|
|
||||||
result = result_temp
|
result = result_temp
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage,
|
|||||||
|
|
||||||
import config
|
import config
|
||||||
import pkg.openai.session
|
import pkg.openai.session
|
||||||
|
import pkg.openai.manager
|
||||||
from func_timeout import func_set_timeout, FunctionTimedOut
|
from func_timeout import func_set_timeout, FunctionTimedOut
|
||||||
import datetime
|
import datetime
|
||||||
import logging
|
import logging
|
||||||
@@ -165,6 +166,18 @@ class QQBotManager:
|
|||||||
reply += ",当前会话是 #{}\n".format(current)
|
reply += ",当前会话是 #{}\n".format(current)
|
||||||
else:
|
else:
|
||||||
reply += ",当前处于全新会话或不在此页"
|
reply += ",当前处于全新会话或不在此页"
|
||||||
|
elif cmd == 'usage':
|
||||||
|
api_keys = pkg.openai.manager.get_inst().key_mgr.api_key
|
||||||
|
reply = "[bot]api-key使用情况:(阈值:{})\n\n".format(pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold)
|
||||||
|
|
||||||
|
using_key_name = ""
|
||||||
|
for api_key in api_keys:
|
||||||
|
reply += "{}:\n - {}字 {}%\n".format(api_key,
|
||||||
|
pkg.openai.manager.get_inst().key_mgr.get_usage(api_keys[api_key]),
|
||||||
|
round(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, 3))
|
||||||
|
if api_keys[api_key] == pkg.openai.manager.get_inst().key_mgr.using_key:
|
||||||
|
using_key_name = api_key
|
||||||
|
reply += "\n当前使用:{}".format(using_key_name)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.notify_admin("{}指令执行失败:{}".format(session_name, e))
|
self.notify_admin("{}指令执行失败:{}".format(session_name, e))
|
||||||
logging.exception(e)
|
logging.exception(e)
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
colorlog>=6.6.0
|
|
||||||
func-timeout>=4.3.5
|
|
||||||
openai>=0.25.0
|
|
||||||
websockets==10.4
|
|
||||||
yiri-mirai==0.2.6.1
|
|
||||||
Reference in New Issue
Block a user