add: 添加切换模型命令
This commit is contained in:
@@ -172,6 +172,20 @@ class AiBotPlugin(AbsExtraConfigPlugin):
|
|||||||
await event.reply("\n".join(models), markdown=True)
|
await event.reply("\n".join(models), markdown=True)
|
||||||
|
|
||||||
# 如果不是,如果是其他的名称,表示这是一个模型名
|
# 如果不是,如果是其他的名称,表示这是一个模型名
|
||||||
|
# 如果是use为第二命令,则表示要切换模型
|
||||||
|
if argus.startswith('use'):
|
||||||
|
arg_elements = argus.strip().split(" ", 2)
|
||||||
|
# 如果命令小于2的个数,就没有写模型名,无法切换
|
||||||
|
if len(arg_elements) < 2:
|
||||||
|
await event.reply("give me a model name after 'use' command", markdown=True)
|
||||||
|
platform = self.get_ai_platform()
|
||||||
|
models = platform.list_models()
|
||||||
|
if f"- {arg_elements[1]}" in models:
|
||||||
|
self.log.debug(f"switch model: {arg_elements[1]}")
|
||||||
|
self.model = arg_elements[1]
|
||||||
|
await event.react("✅")
|
||||||
|
else:
|
||||||
|
await event.reply("not found valid model")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_config_class(cls) -> Type[BaseProxyConfig]:
|
def get_config_class(cls) -> Type[BaseProxyConfig]:
|
||||||
|
|||||||
@@ -5,12 +5,18 @@ class AbsExtraConfigPlugin(Plugin):
|
|||||||
default_username: str
|
default_username: str
|
||||||
user_id: str
|
user_id: str
|
||||||
|
|
||||||
|
model: str;
|
||||||
|
|
||||||
async def start(self) -> None:
|
async def start(self) -> None:
|
||||||
await super().start()
|
await super().start()
|
||||||
self.default_username = await self.client.get_displayname(self.client.mxid)
|
self.default_username = await self.client.get_displayname(self.client.mxid)
|
||||||
self.user_id = self.client.parse_user_id(self.client.mxid)[0]
|
self.user_id = self.client.parse_user_id(self.client.mxid)[0]
|
||||||
|
self.model = self.config['platform'][self.config['use_platform']]['model']
|
||||||
|
|
||||||
def get_bot_name(self) -> str:
|
def get_bot_name(self) -> str:
|
||||||
return self.config['name'] or \
|
return self.config['name'] or \
|
||||||
self.default_username or \
|
self.default_username or \
|
||||||
self.user_id
|
self.user_id
|
||||||
|
|
||||||
|
def get_use_model(self) -> str:
|
||||||
|
return self.model
|
||||||
|
|||||||
Reference in New Issue
Block a user