From 8ffc609388e8dab506be2235cb81a8c6258d11f7 Mon Sep 17 00:00:00 2001 From: Misakiotoha <1841738040@qq.com> Date: Sun, 1 Mar 2026 14:55:45 +0800 Subject: [PATCH] fix a little bugs --- src/modules/asr_module/api.py | 16 ++++++++-------- .../websocket_base_module/dto/third_dtos.py | 2 +- .../websocket_core/core_ws_server.py | 4 ++-- src/server_core/core.py | 2 +- .../llm_core/llm_core_prompt_manager.py | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/modules/asr_module/api.py b/src/modules/asr_module/api.py index 818e306..8ef3968 100644 --- a/src/modules/asr_module/api.py +++ b/src/modules/asr_module/api.py @@ -22,18 +22,18 @@ def get_asr(): """获取或创建ASR实例(单例)""" global _asr_instance if _asr_instance is None: - logger.info("🚀 初始化ASR服务...") + logger.info("初始化ASR服务...") _asr_instance = create_asr( ASRConfig( model_name="deepdml/faster-whisper-large-v3-turbo-ct2", device="auto", - compute_type="int8_float16", + compute_type="int8_float16", # 如果你是gtx老卡,换成float32 cache_dir=Path("asr_models/faster_whisper_large_v3_ct2"), beam_size=1, # 贪婪搜索,速度最快 vad_filter=True, # 过滤静音,节省30%时间 ) ) - logger.info("✅ ASR服务初始化完成") + logger.info("ASR服务初始化完成") return _asr_instance @app.on_event("startup") @@ -47,7 +47,7 @@ async def shutdown_event(): global _asr_instance if _asr_instance: _asr_instance.shutdown() - logger.info("🛑 ASR服务已关闭") + logger.info("ASR服务已关闭") @app.post("/transcribe", response_class=JSONResponse) async def transcribe_audio( @@ -63,7 +63,7 @@ async def transcribe_audio( # 验证文件类型 if file.content_type and not file.content_type.startswith("audio/"): - raise HTTPException(status_code=400, detail="❌ 请上传音频文件 (MIME类型: audio/*)") + raise HTTPException(status_code=400, detail="请上传音频文件 (MIME类型: audio/*)") try: # 创建临时文件 @@ -72,7 +72,7 @@ async def transcribe_audio( tmp_file.write(content) tmp_path = Path(tmp_file.name) - logger.info(f"📥 接收文件: {file.filename} ({len(content)} bytes)") + logger.info(f"接收文件: {file.filename} ({len(content)} bytes)") # 调用ASR识别 asr = get_asr() @@ -83,7 +83,7 @@ async def transcribe_audio( processing_time = time.time() - start_time - logger.info(f"✅ 识别完成: {language} | {len(text)}字符 | 置信度:{confidence:.2f} | 耗时:{processing_time:.3f}s") + logger.info(f"识别完成: {language} | {len(text)}字符 | 置信度:{confidence:.2f} | 耗时:{processing_time:.3f}s") return { "success": True, @@ -96,7 +96,7 @@ async def transcribe_audio( } except Exception as e: - logger.error(f"❌ 识别失败: {e}") + logger.error(f"识别失败: {e}") raise HTTPException(status_code=500, detail=f"识别失败: {str(e)}") @app.get("/health") diff --git a/src/modules/websocket_base_module/dto/third_dtos.py b/src/modules/websocket_base_module/dto/third_dtos.py index ae3cb11..cd55c86 100644 --- a/src/modules/websocket_base_module/dto/third_dtos.py +++ b/src/modules/websocket_base_module/dto/third_dtos.py @@ -110,7 +110,7 @@ class AudioDataDTO: # 序列化为JSON并发送 自动处理base64和type字段 json_message = self.audio_data.to_json() await self.json_dto.send_json(json_message) - logger.info(f"音频已发送: sequence={sequence}, 大小={len(data)} bytes") + # logger.info(f"音频已发送: sequence={sequence}, 大小={len(data)} bytes") # 业务接收接口 def register_audio_callback( diff --git a/src/modules/websocket_base_module/websocket_core/core_ws_server.py b/src/modules/websocket_base_module/websocket_core/core_ws_server.py index 093ffd7..7433257 100644 --- a/src/modules/websocket_base_module/websocket_core/core_ws_server.py +++ b/src/modules/websocket_base_module/websocket_core/core_ws_server.py @@ -77,10 +77,10 @@ class WebSocketServer: """发送JSON数据(唯一客户端)""" if self._websocket: try: - logger.debug(f"准备发送JSON数据: {data}") + # logger.debug(f"准备发送JSON数据: {data}") message = json.dumps(data) await self._websocket.send(message) - logger.trace(f"JSON数据已发送: {data}") + # logger.trace(f"JSON数据已发送: {data}") except Exception as e: logger.error(f"JSON数据发送失败: {e}") raise diff --git a/src/server_core/core.py b/src/server_core/core.py index b231b74..e54722e 100644 --- a/src/server_core/core.py +++ b/src/server_core/core.py @@ -221,7 +221,7 @@ class YosugaServerCore: media_type="wav" ): chunk_count += 1 - print(f"🎵 收到音频块 #{chunk_count}: {len(chunk.audio_data)} bytes") + # print(f"🎵 收到音频块 #{chunk_count}: {len(chunk.audio_data)} bytes") if chunk_count == 1: # 如果是第一个音频块 # 构造音频首包发送给客户端 await self.audio_dto.send_audio_data( diff --git a/src/server_core/llm_core/llm_core_prompt_manager.py b/src/server_core/llm_core/llm_core_prompt_manager.py index 12fd22b..8adaed8 100644 --- a/src/server_core/llm_core/llm_core_prompt_manager.py +++ b/src/server_core/llm_core/llm_core_prompt_manager.py @@ -124,7 +124,7 @@ class YosugaUITARS(LLMCorePromptBase): 1. 当用户试图进行一些自动化操作时,你可以通过返回以下json来调用自动化agent,调用的时候也可以一并回复用户一些文本内容: { "type": "固定为call_auto_agent", - "llm_translation": "针对用户的意图的转译,如果用户的意图足够明确,直接照抄即可,注意转译的语言必须是中文,可以混合部分英文(应用名称),这个和聊天交流的语言不统一。" + "llm_translation": "针对用户的意图的转译,如果用户的意图足够明确,直接照抄即可,注意转译的语言必须是英语(English),可以混合部分中文(例如应用名称),这个和聊天交流使用的语言不统一。" } 2. 针对自动化agent操作输入,你应该按以下JSON格式回复。如果你发起了自动化agent请求之后,却没有返回下面的JSON内容,那么你的请求并不会作用到用户的设备,所以你调用完自动化agent一定要及时返回下面的JSON内容: {