Skip to content

Commit

Permalink
feat(命令): 添加set_gpt_model、set_gpt_model、set_gpt_model 几个命令的使用
Browse files Browse the repository at this point in the history
  • Loading branch information
taoguoliang committed May 13, 2023
1 parent e595972 commit 3e92d07
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
2 changes: 1 addition & 1 deletion bot/chatgpt/chat_gpt_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def reply(self, query, context=None):
logger.debug("[CHATGPT] session query={}".format(session.messages))

api_key = context.get("openai_api_key")

self.args['model'] = context.get('gpt_model') or "gpt-3.5-turbo"
# if context.get('stream'):
# # reply in stream
# return self.reply_text_stream(query, new_query, session_id)
Expand Down
1 change: 1 addition & 0 deletions channel/chat_channel.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ def _compose_context(self, ctype: ContextType, content, **kwargs):
cmsg = context["msg"]
user_data = conf().get_user_data(cmsg.from_user_id)
context["openai_api_key"] = user_data.get("openai_api_key")
context["gpt_model"] = user_data.get("gpt_model")
if context.get("isgroup", False):
group_name = cmsg.other_user_nickname
group_id = cmsg.other_user_id
Expand Down
32 changes: 32 additions & 0 deletions plugins/godcmd/godcmd.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,18 @@
"alias": ["reset_openai_api_key"],
"desc": "重置为默认的api_key",
},
"set_gpt_model": {
"alias": ["set_gpt_model"],
"desc": "设置你的私有模型",
},
"reset_gpt_model": {
"alias": ["reset_gpt_model"],
"desc": "重置你的私有模型",
},
"gpt_model": {
"alias": ["gpt_model"],
"desc": "查询你使用的模型",
},
"id": {
"alias": ["id", "用户"],
"desc": "获取用户id", # wechaty和wechatmp的用户id不会变化,可用于绑定管理员
Expand Down Expand Up @@ -264,6 +276,26 @@ def on_handle_context(self, e_context: EventContext):
ok, result = True, "你的OpenAI私有api_key已清除"
except Exception as e:
ok, result = False, "你没有设置私有api_key"
elif cmd == "set_gpt_model":
if len(args) == 1:
user_data = conf().get_user_data(user)
user_data["gpt_model"] = args[0]
ok, result = True, "你的GPT模型已设置为" + args[0]
else:
ok, result = False, "请提供一个GPT模型"
elif cmd == "gpt_model":
user_data = conf().get_user_data(user)
model = conf().get('model')
if 'gpt_model' in user_data:
model = user_data['gpt_model']
ok, result = True, "你的GPT模型为" + str(model)
elif cmd == "reset_gpt_model":
try:
user_data = conf().get_user_data(user)
user_data.pop("gpt_model")
ok, result = True, "你的GPT模型已重置"
except Exception as e:
ok, result = False, "你没有设置私有GPT模型"
elif cmd == "reset":
if bottype in [const.OPEN_AI, const.CHATGPT, const.CHATGPTONAZURE]:
bot.sessions.clear_session(session_id)
Expand Down

0 comments on commit 3e92d07

Please sign in to comment.