From 4216c5196ef963a41f64eba8f30fa1a9922b1a20 Mon Sep 17 00:00:00 2001 From: 505030475 Date: Thu, 27 Jul 2023 22:30:55 +0800 Subject: [PATCH] verify ignore history practice --- core_functional.py | 19 +++++++++++++++++-- request_llm/bridge_chatglm.py | 7 ++----- request_llm/bridge_chatglmft.py | 7 ++----- request_llm/bridge_chatgpt.py | 7 ++----- request_llm/bridge_claude.py | 7 ++----- request_llm/bridge_internlm.py | 7 ++----- request_llm/bridge_jittorllms_llama.py | 7 ++----- request_llm/bridge_jittorllms_pangualpha.py | 7 ++----- request_llm/bridge_jittorllms_rwkv.py | 7 ++----- request_llm/bridge_moss.py | 7 ++----- request_llm/bridge_newbingfree.py | 7 ++----- request_llm/bridge_stackclaude.py | 10 ++-------- request_llm/bridge_tgui.py | 7 ++----- 13 files changed, 41 insertions(+), 65 deletions(-) diff --git a/core_functional.py b/core_functional.py index 7bc3582..0d773ca 100644 --- a/core_functional.py +++ b/core_functional.py @@ -1,7 +1,7 @@ # 'primary' 颜色对应 theme.py 中的 primary_hue # 'secondary' 颜色对应 theme.py 中的 neutral_hue # 'stop' 颜色对应 theme.py 中的 color_er -# 默认按钮颜色是 secondary +import importlib from toolbox import clear_line_break @@ -14,7 +14,12 @@ def get_core_functions(): r"Furthermore, list all modification and explain the reasons to do so in markdown table." + "\n\n", # 后语 "Suffix": r"", - "Color": r"secondary", # 按钮颜色 + # 按钮颜色 (默认 secondary) + "Color": r"secondary", + # 按钮是否可见 (默认 True,即可见) + "Visible": True, + # 是否在触发时清除历史 (默认 False,即不处理之前的对话历史) + "AutoClearHistory": True }, "中文学术润色": { "Prefix": r"作为一名中文学术论文写作改进助理,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性," + @@ -76,3 +81,13 @@ def get_core_functions(): "Suffix": r"", } } + + +def handle_core_functionality(additional_fn, inputs, history): + import core_functional + importlib.reload(core_functional) # 热更新prompt + core_functional = core_functional.get_core_functions() + if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) + inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + history = [] if core_functional[additional_fn].get("AutoClearHistory", False) else history + return inputs, history diff --git a/request_llm/bridge_chatglm.py b/request_llm/bridge_chatglm.py index d761c65..0fe557c 100644 --- a/request_llm/bridge_chatglm.py +++ b/request_llm/bridge_chatglm.py @@ -144,11 +144,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_chatglmft.py b/request_llm/bridge_chatglmft.py index cd0ccb9..dd5d1e9 100644 --- a/request_llm/bridge_chatglmft.py +++ b/request_llm/bridge_chatglmft.py @@ -185,11 +185,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_chatgpt.py b/request_llm/bridge_chatgpt.py index 11457c9..d2a5240 100644 --- a/request_llm/bridge_chatgpt.py +++ b/request_llm/bridge_chatgpt.py @@ -129,11 +129,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) raw_input = inputs logging.info(f'[raw_input] {raw_input}') diff --git a/request_llm/bridge_claude.py b/request_llm/bridge_claude.py index af79fc8..e17b041 100644 --- a/request_llm/bridge_claude.py +++ b/request_llm/bridge_claude.py @@ -116,11 +116,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) raw_input = inputs logging.info(f'[raw_input] {raw_input}') diff --git a/request_llm/bridge_internlm.py b/request_llm/bridge_internlm.py index 82a940f..6b8b752 100644 --- a/request_llm/bridge_internlm.py +++ b/request_llm/bridge_internlm.py @@ -290,11 +290,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_jittorllms_llama.py b/request_llm/bridge_jittorllms_llama.py index 6dfac68..552db0f 100644 --- a/request_llm/bridge_jittorllms_llama.py +++ b/request_llm/bridge_jittorllms_llama.py @@ -154,11 +154,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_jittorllms_pangualpha.py b/request_llm/bridge_jittorllms_pangualpha.py index ad02565..4f937d4 100644 --- a/request_llm/bridge_jittorllms_pangualpha.py +++ b/request_llm/bridge_jittorllms_pangualpha.py @@ -154,11 +154,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_jittorllms_rwkv.py b/request_llm/bridge_jittorllms_rwkv.py index 1252eea..b0e41af 100644 --- a/request_llm/bridge_jittorllms_rwkv.py +++ b/request_llm/bridge_jittorllms_rwkv.py @@ -154,11 +154,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_moss.py b/request_llm/bridge_moss.py index 7a1ab56..c4c8142 100644 --- a/request_llm/bridge_moss.py +++ b/request_llm/bridge_moss.py @@ -224,11 +224,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp yield from update_ui(chatbot=chatbot, history=history) if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) # 处理历史信息 history_feedin = [] diff --git a/request_llm/bridge_newbingfree.py b/request_llm/bridge_newbingfree.py index 11c2ea7..e99189c 100644 --- a/request_llm/bridge_newbingfree.py +++ b/request_llm/bridge_newbingfree.py @@ -224,11 +224,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) history_feedin = [] for i in range(len(history)//2): diff --git a/request_llm/bridge_stackclaude.py b/request_llm/bridge_stackclaude.py index bbc1324..2a4920c 100644 --- a/request_llm/bridge_stackclaude.py +++ b/request_llm/bridge_stackclaude.py @@ -248,14 +248,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp return if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: - inputs = core_functional[additional_fn]["PreProcess"]( - inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + \ - inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) history_feedin = [] for i in range(len(history)//2): diff --git a/request_llm/bridge_tgui.py b/request_llm/bridge_tgui.py index fcf852f..4f9b41c 100644 --- a/request_llm/bridge_tgui.py +++ b/request_llm/bridge_tgui.py @@ -96,11 +96,8 @@ def predict(inputs, llm_kwargs, plugin_kwargs, chatbot, history=[], system_promp additional_fn代表点击的哪个按钮,按钮见functional.py """ if additional_fn is not None: - import core_functional - importlib.reload(core_functional) # 热更新prompt - core_functional = core_functional.get_core_functions() - if "PreProcess" in core_functional[additional_fn]: inputs = core_functional[additional_fn]["PreProcess"](inputs) # 获取预处理函数(如果有的话) - inputs = core_functional[additional_fn]["Prefix"] + inputs + core_functional[additional_fn]["Suffix"] + from core_functional import handle_core_functionality + inputs, history = handle_core_functionality(additional_fn, inputs, history) raw_input = "What I would like to say is the following: " + inputs history.extend([inputs, ""])