From 631787a4f12aa769226893f04cacaec180e29056 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Tue, 27 May 2025 13:41:53 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E8=BF=99=E5=87=A0=E5=A4=A9tts?= =?UTF-8?q?=E6=B5=81=E5=BC=8F=E6=94=B9=E9=80=A0=E5=90=88=E5=B9=B6=E5=90=8E?= =?UTF-8?q?=EF=BC=8Cself.executor=E7=9A=84=E4=B8=BB=E8=A6=81=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=B0=86=E6=98=AF=E7=94=A8=E6=9D=A5=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E8=AE=B0=E5=BD=95=EF=BC=8C=E5=9B=A0=E6=AD=A4?= =?UTF-8?q?=E8=BF=99=E9=87=8C=E5=85=B6=E5=AE=9E=E5=8F=AF=E4=BB=A5=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E5=9C=A8self.executor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/xiaozhi-server/config.yaml | 2 +- main/xiaozhi-server/core/connection.py | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/main/xiaozhi-server/config.yaml b/main/xiaozhi-server/config.yaml index ebec6ccd..e7b2a50e 100644 --- a/main/xiaozhi-server/config.yaml +++ b/main/xiaozhi-server/config.yaml @@ -218,7 +218,7 @@ Memory: # 不想使用记忆功能,可以使用nomem type: nomem mem_local_short: - # 本地记忆功能,通过selected_module的llm总结,数据保存在本地,不会上传到服务器 + # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器 type: mem_local_short # 配备记忆存储独立的思考模型 # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型 diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 1efa95c2..2d78f761 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -89,13 +89,12 @@ class ConnectionHandler: self.stop_event = threading.Event() self.tts_queue = queue.Queue() self.audio_play_queue = queue.Queue() - self.executor = ThreadPoolExecutor(max_workers=10) + self.executor = ThreadPoolExecutor(max_workers=5) # 添加上报线程池 - self.report_thread_pool = ThreadPoolExecutor(max_workers=5, thread_name_prefix="report_worker") self.report_queue = queue.Queue() self.report_thread = None - # TODO(haotian): 2025/5/12 可以通过修改此处,调节asr的上报和tts的上报 + # 未来可以通过修改此处,调节asr的上报和tts的上报,目前默认都开启 self.report_asr_enable = self.read_config_from_api self.report_tts_enable = self.read_config_from_api @@ -465,10 +464,13 @@ class ConnectionHandler: return # 使用 mem_local_short 模式 elif memory_type == "mem_local_short": - memory_llm_name = memory_config[self.config["selected_module"]["Memory"]]["llm"] + memory_llm_name = memory_config[self.config["selected_module"]["Memory"]][ + "llm" + ] if memory_llm_name and memory_llm_name in self.config["LLM"]: # 如果配置了专用LLM,则创建独立的LLM实例 from core.utils import llm as llm_utils + memory_llm_config = self.config["LLM"][memory_llm_name] memory_llm_type = memory_llm_config.get("type", memory_llm_name) memory_llm = llm_utils.create_instance( @@ -922,7 +924,9 @@ class ConnectionHandler: try: # 提交任务到线程池 - self.report_thread_pool.submit(self._process_report, type, text, audio_data, report_time) + self.executor.submit( + self._process_report, type, text, audio_data, report_time + ) except Exception as e: self.logger.bind(tag=TAG).error(f"聊天记录上报线程异常: {e}") except queue.Empty: @@ -1001,12 +1005,6 @@ class ConnectionHandler: self.executor.shutdown(wait=False) self.executor = None - # 关闭上报线程池 - if self.report_thread_pool: - self.report_thread_pool.shutdown(wait=False) - self.report_thread_pool = None - self.logger.bind(tag=TAG).info("上报线程池已关闭") - self.logger.bind(tag=TAG).info("连接资源已释放") def clear_queues(self):