diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index d5b9ca4a..507f3942 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -1127,6 +1127,9 @@ class ConnectionHandler: ) self.executor = None + import gc + gc.collect() + self.logger.bind(tag=TAG).info("连接资源已释放") except Exception as e: self.logger.bind(tag=TAG).error(f"关闭连接时出错: {e}") diff --git a/main/xiaozhi-server/core/handle/reportHandle.py b/main/xiaozhi-server/core/handle/reportHandle.py index cc78a157..679f90e8 100644 --- a/main/xiaozhi-server/core/handle/reportHandle.py +++ b/main/xiaozhi-server/core/handle/reportHandle.py @@ -97,7 +97,6 @@ def opus_to_wav(conn, opus_data): if decoder is not None: try: del decoder - gc.collect() except Exception as e: conn.logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}") diff --git a/main/xiaozhi-server/core/providers/asr/aliyun_stream.py b/main/xiaozhi-server/core/providers/asr/aliyun_stream.py index 23999fca..179685bd 100644 --- a/main/xiaozhi-server/core/providers/asr/aliyun_stream.py +++ b/main/xiaozhi-server/core/providers/asr/aliyun_stream.py @@ -353,7 +353,6 @@ class ASRProvider(ASRProviderBase): try: del self.decoder self.decoder = None - gc.collect() logger.bind(tag=TAG).debug("Aliyun decoder resources released") except Exception as e: logger.bind(tag=TAG).debug(f"释放Aliyun decoder资源时出错: {e}") diff --git a/main/xiaozhi-server/core/providers/asr/base.py b/main/xiaozhi-server/core/providers/asr/base.py index 2d88ff70..7e36de5c 100644 --- a/main/xiaozhi-server/core/providers/asr/base.py +++ b/main/xiaozhi-server/core/providers/asr/base.py @@ -271,6 +271,5 @@ class ASRProviderBase(ABC): if decoder is not None: try: del decoder - gc.collect() except Exception as e: logger.bind(tag=TAG).debug(f"释放decoder资源时出错: {e}") diff --git a/main/xiaozhi-server/core/providers/asr/doubao_stream.py b/main/xiaozhi-server/core/providers/asr/doubao_stream.py index 7d0871a6..2d179b86 100644 --- a/main/xiaozhi-server/core/providers/asr/doubao_stream.py +++ b/main/xiaozhi-server/core/providers/asr/doubao_stream.py @@ -377,7 +377,6 @@ class ASRProvider(ASRProviderBase): try: del self.decoder self.decoder = None - gc.collect() logger.bind(tag=TAG).debug("Doubao decoder resources released") except Exception as e: logger.bind(tag=TAG).debug(f"释放Doubao decoder资源时出错: {e}") diff --git a/main/xiaozhi-server/core/providers/asr/xunfei_stream.py b/main/xiaozhi-server/core/providers/asr/xunfei_stream.py index 7bd992a9..6a895ebc 100644 --- a/main/xiaozhi-server/core/providers/asr/xunfei_stream.py +++ b/main/xiaozhi-server/core/providers/asr/xunfei_stream.py @@ -519,7 +519,6 @@ class ASRProvider(ASRProviderBase): try: del self.decoder self.decoder = None - gc.collect() logger.bind(tag=TAG).debug("Xunfei decoder resources released") except Exception as e: logger.bind(tag=TAG).debug(f"释放Xunfei decoder资源时出错: {e}") diff --git a/main/xiaozhi-server/core/providers/llm/openai/openai.py b/main/xiaozhi-server/core/providers/llm/openai/openai.py index 6e0cd66d..2863c420 100644 --- a/main/xiaozhi-server/core/providers/llm/openai/openai.py +++ b/main/xiaozhi-server/core/providers/llm/openai/openai.py @@ -24,7 +24,6 @@ class LLMProvider(LLMProviderBase): "max_tokens": int, "temperature": lambda x: round(float(x), 1), "top_p": lambda x: round(float(x), 1), - "top_k": int, "frequency_penalty": lambda x: round(float(x), 1), } @@ -40,7 +39,7 @@ class LLMProvider(LLMProviderBase): setattr(self, param, None) logger.debug( - f"意图识别参数初始化: {self.temperature}, {self.max_tokens}, {self.top_p}, {self.top_k}, {self.frequency_penalty}" + f"意图识别参数初始化: {self.temperature}, {self.max_tokens}, {self.top_p}, {self.frequency_penalty}" ) model_key_msg = check_model_key("LLM", self.api_key) @@ -71,7 +70,6 @@ class LLMProvider(LLMProviderBase): "max_tokens": kwargs.get("max_tokens", self.max_tokens), "temperature": kwargs.get("temperature", self.temperature), "top_p": kwargs.get("top_p", self.top_p), - "top_k": kwargs.get("top_k", self.top_k), "frequency_penalty": kwargs.get("frequency_penalty", self.frequency_penalty), } @@ -116,7 +114,6 @@ class LLMProvider(LLMProviderBase): "max_tokens": kwargs.get("max_tokens", self.max_tokens), "temperature": kwargs.get("temperature", self.temperature), "top_p": kwargs.get("top_p", self.top_p), - "top_k": kwargs.get("top_k", self.top_k), "frequency_penalty": kwargs.get("frequency_penalty", self.frequency_penalty), } diff --git a/main/xiaozhi-server/core/providers/vad/silero.py b/main/xiaozhi-server/core/providers/vad/silero.py index 6fc26291..ae51b88f 100644 --- a/main/xiaozhi-server/core/providers/vad/silero.py +++ b/main/xiaozhi-server/core/providers/vad/silero.py @@ -41,7 +41,6 @@ class VADProvider(VADProviderBase): if hasattr(self, 'decoder') and self.decoder is not None: try: del self.decoder - gc.collect() except Exception: pass diff --git a/main/xiaozhi-server/core/utils/opus_encoder_utils.py b/main/xiaozhi-server/core/utils/opus_encoder_utils.py index cf76dd6b..300b2422 100644 --- a/main/xiaozhi-server/core/utils/opus_encoder_utils.py +++ b/main/xiaozhi-server/core/utils/opus_encoder_utils.py @@ -133,6 +133,5 @@ class OpusEncoderUtils: try: del self.encoder self.encoder = None - gc.collect() except Exception as e: logging.error(f"Error releasing Opus encoder: {e}") \ No newline at end of file diff --git a/main/xiaozhi-server/core/utils/util.py b/main/xiaozhi-server/core/utils/util.py index 9586ace8..37388be8 100644 --- a/main/xiaozhi-server/core/utils/util.py +++ b/main/xiaozhi-server/core/utils/util.py @@ -398,7 +398,6 @@ def opus_datas_to_wav_bytes(opus_datas, sample_rate=16000, channels=1): if decoder is not None: try: del decoder - gc.collect() except Exception: pass