diff --git a/README.md b/README.md index 5f31afe..51f14a4 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,10 @@ cp config-template.json config.json 在使用时只需要更改 model 和 channel 配置块下的 type 字段,即可在任意模型和应用间完成切换,连接不同的通路。下面将依次介绍各个 模型 及 应用 的配置和运行过程。 +#### settings + ++ `clear_memory_commands`: 对话内指令,主动清空前文记忆,字符串数组可自定义指令别名。 + + default: ["#清除记忆"] ## 二、选择模型 diff --git a/config-template.json b/config-template.json index 24c2a08..3cf788b 100644 --- a/config-template.json +++ b/config-template.json @@ -56,5 +56,8 @@ "http_auth_password": "6.67428e-11", "port": "80" } + }, + "settings": { + "clear_memory_commands": ["#清除记忆"] } } diff --git a/config.py b/config.py index 6ae2c95..3598f98 100644 --- a/config.py +++ b/config.py @@ -52,3 +52,12 @@ def channel_conf_val(channel_type, key, default=None): # common default config return config.get('channel').get(key, default) return val + + +def settings_conf(): + return config.get('settings') + + +def settings_conf_val(key, default=None): + return config.get('settings').get(key, default) + diff --git a/model/openai/chatgpt_model.py b/model/openai/chatgpt_model.py index 609e9f3..9a8f3d6 100644 --- a/model/openai/chatgpt_model.py +++ b/model/openai/chatgpt_model.py @@ -1,7 +1,7 @@ # encoding:utf-8 from model.model import Model -from config import model_conf +from config import model_conf, settings_conf_val from common import const from common import log import openai @@ -22,7 +22,8 @@ class ChatGPTModel(Model): if not context or not context.get('type') or context.get('type') == 'TEXT': log.info("[CHATGPT] query={}".format(query)) from_user_id = context['from_user_id'] - if query == '#清除记忆': + clear_memory_commands = settings_conf_val('clear_memory_commands', ['#清除记忆']) + if query in clear_memory_commands: Session.clear_session(from_user_id) return '记忆已清除' diff --git a/model/openai/open_ai_model.py b/model/openai/open_ai_model.py index 36dc3c4..8895482 100644 --- a/model/openai/open_ai_model.py +++ b/model/openai/open_ai_model.py @@ -1,7 +1,7 @@ # encoding:utf-8 from model.model import Model -from config import model_conf +from config import model_conf, settings_conf_val from common import const from common import log import openai @@ -20,7 +20,8 @@ class OpenAIModel(Model): if not context or not context.get('type') or context.get('type') == 'TEXT': log.info("[OPEN_AI] query={}".format(query)) from_user_id = context['from_user_id'] - if query == '#清除记忆': + clear_memory_commands = settings_conf_val('clear_memory_commands', ['#清除记忆']) + if query in clear_memory_commands: Session.clear_session(from_user_id) return '记忆已清除'