Merge pull request #763 from GOODDAYDAY/main

update: 优化系统prompt & 优化三方模块打印日志报错问题 & 修复Dify未过滤全量数据问题
This commit is contained in:
hrz
2025-04-14 23:09:43 +08:00
committed by GitHub
3 changed files with 14 additions and 8 deletions
+8 -2
View File
@@ -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(): def setup_logging():
"""从配置文件中读取日志配置,并设置日志输出格式和级别""" """从配置文件中读取日志配置,并设置日志输出格式和级别"""
config = load_config() config = load_config()
@@ -56,9 +62,9 @@ def setup_logging():
logger.remove() 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 return logger
+2 -4
View File
@@ -335,10 +335,8 @@ class ConnectionHandler:
def change_system_prompt(self, prompt): def change_system_prompt(self, prompt):
self.prompt = prompt self.prompt = prompt
# 找到原来的role==system,替换原来的系统提示 # 更新系统prompt至上下文
for m in self.dialogue.dialogue: self.dialogue.update_system_message(self.prompt)
if m.role == "system":
m.content = prompt
def chat(self, query): def chat(self, query):
@@ -58,7 +58,8 @@ class LLMProvider(LLMProviderBase):
self.session_conversation_map[session_id] = ( self.session_conversation_map[session_id] = (
conversation_id # 更新映射 conversation_id # 更新映射
) )
if event.get("answer"): # 过滤 message_replace 事件,此事件会全量推一次
if event.get("event") != "message_replace" and event.get("answer"):
yield event["answer"] yield event["answer"]
elif self.mode == "workflows/run": elif self.mode == "workflows/run":
for line in r.iter_lines(): for line in r.iter_lines():
@@ -73,7 +74,8 @@ class LLMProvider(LLMProviderBase):
for line in r.iter_lines(): for line in r.iter_lines():
if line.startswith(b"data: "): if line.startswith(b"data: "):
event = json.loads(line[6:]) event = json.loads(line[6:])
if event.get("answer"): # 过滤 message_replace 事件,此事件会全量推一次
if event.get("event") != "message_replace" and event.get("answer"):
yield event["answer"] yield event["answer"]
except Exception as e: except Exception as e: