mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
Merge pull request #763 from GOODDAYDAY/main
update: 优化系统prompt & 优化三方模块打印日志报错问题 & 修复Dify未过滤全量数据问题
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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):
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user