mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-29 02:23:56 +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():
|
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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user