From dcb6d0feab9e069f116a43214eea4ac03e8f4058 Mon Sep 17 00:00:00 2001 From: haotian Date: Sun, 13 Apr 2025 18:46:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E7=B3=BB?= =?UTF-8?q?=E7=BB=9Fprompt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/connection.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index fc191b6f..1345879e 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -335,10 +335,8 @@ class ConnectionHandler: def change_system_prompt(self, prompt): self.prompt = prompt - # 找到原来的role==system,替换原来的系统提示 - for m in self.dialogue.dialogue: - if m.role == "system": - m.content = prompt + # 更新系统prompt至上下文 + self.dialogue.update_system_message(self.prompt) def chat(self, query): From c76f28824c4fbbe29b200435e1ab11f38955d6f7 Mon Sep 17 00:00:00 2001 From: haotian Date: Mon, 14 Apr 2025 18:49:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?update:=20=E4=BC=98=E5=8C=96=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E6=A8=A1=E5=9D=97=E6=89=93=E5=8D=B0=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/config/logger.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main/xiaozhi-server/config/logger.py b/main/xiaozhi-server/config/logger.py index 5981822c..cc87807b 100644 --- a/main/xiaozhi-server/config/logger.py +++ b/main/xiaozhi-server/config/logger.py @@ -25,6 +25,12 @@ def build_module_string(selected_module): ) +def formatter(record): + """为没有 tag 的日志添加默认值""" + record["extra"].setdefault("tag", record["name"]) + return record["message"] + + def setup_logging(): """从配置文件中读取日志配置,并设置日志输出格式和级别""" config = load_config() @@ -56,9 +62,9 @@ def setup_logging(): logger.remove() # 输出到控制台 - logger.add(sys.stdout, format=log_format, level=log_level) + logger.add(sys.stdout, format=log_format, level=log_level, filter=formatter) # 输出到文件 - logger.add(os.path.join(log_dir, log_file), format=log_format_file, level=log_level) + logger.add(os.path.join(log_dir, log_file), format=log_format_file, level=log_level, filter=formatter) return logger From 6284a74a6ec0b17bb39f70378b969c8f6af891be Mon Sep 17 00:00:00 2001 From: haotian Date: Mon, 14 Apr 2025 21:43:55 +0800 Subject: [PATCH 3/3] =?UTF-8?q?update:=20=E4=BF=AE=E5=A4=8DDify=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E6=9C=AA=E8=BF=87=E6=BB=A4=E5=85=A8=E9=87=8F=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/core/providers/llm/dify/dify.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/main/xiaozhi-server/core/providers/llm/dify/dify.py b/main/xiaozhi-server/core/providers/llm/dify/dify.py index 26bb48b7..030aba05 100644 --- a/main/xiaozhi-server/core/providers/llm/dify/dify.py +++ b/main/xiaozhi-server/core/providers/llm/dify/dify.py @@ -58,7 +58,8 @@ class LLMProvider(LLMProviderBase): self.session_conversation_map[session_id] = ( conversation_id # 更新映射 ) - if event.get("answer"): + # 过滤 message_replace 事件,此事件会全量推一次 + if event.get("event") != "message_replace" and event.get("answer"): yield event["answer"] elif self.mode == "workflows/run": for line in r.iter_lines(): @@ -73,7 +74,8 @@ class LLMProvider(LLMProviderBase): for line in r.iter_lines(): if line.startswith(b"data: "): event = json.loads(line[6:]) - if event.get("answer"): + # 过滤 message_replace 事件,此事件会全量推一次 + if event.get("event") != "message_replace" and event.get("answer"): yield event["answer"] except Exception as e: