From c293e43281fd207dbdee906a916dfea64df549e7 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Wed, 17 Dec 2025 14:33:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98=20await=20?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module_admin/controller/ragflow_controller.py | 3 ++- ruoyi-fastapi-backend/module_admin/service/search_service.py | 3 ++- ruoyi-fastapi-backend/test/test_fix_verification.py | 3 ++- ruoyi-fastapi-backend/test/test_rag_internal.py | 3 ++- ruoyi-fastapi-backend/verify_fix_logic.py | 4 ++-- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py index c5ec0ac..839c0dc 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/ragflow_controller.py @@ -230,7 +230,8 @@ async def converse_with_chat_assistant( # Revert to Native RAGFlow Service (OpenAI endpoint failed with Auth error) t1 = time.perf_counter() - result = await RAGFlowService.converse_with_chat_assistant_services(converse_params) + # 修复:直接获取AsyncGenerator,不使用await消费 + result = RAGFlowService.converse_with_chat_assistant_services(converse_params) logger.info(f"[RAG_PROFILE] RAG Init/Connect ({converse_params.chat_id}): {time.perf_counter() - t1:.3f}s") if converse_params.stream: diff --git a/ruoyi-fastapi-backend/module_admin/service/search_service.py b/ruoyi-fastapi-backend/module_admin/service/search_service.py index 733466a..667c46d 100644 --- a/ruoyi-fastapi-backend/module_admin/service/search_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/search_service.py @@ -189,7 +189,8 @@ class SearchService: except SearchServiceError as exc: logger.warning('搜索服务失败,降级到RAGFlow: %s', exc) # Fallback to normal flow - result = await RAGFlowService.converse_with_chat_assistant_services(converse_params) + # 修复:直接获取AsyncGenerator,不使用await消费 + result = RAGFlowService.converse_with_chat_assistant_services(converse_params) if converse_params.stream: async def stream_response(): diff --git a/ruoyi-fastapi-backend/test/test_fix_verification.py b/ruoyi-fastapi-backend/test/test_fix_verification.py index 91eae17..1695962 100644 --- a/ruoyi-fastapi-backend/test/test_fix_verification.py +++ b/ruoyi-fastapi-backend/test/test_fix_verification.py @@ -30,7 +30,8 @@ async def test_fix_logic(): print("[1] Fetching Stream from Native Service (Expect Cumulative)...") try: - result_stream = await RAGFlowService.converse_with_chat_assistant_services(params) + # 修复:直接获取AsyncGenerator,不使用await消费 + result_stream = RAGFlowService.converse_with_chat_assistant_services(params) print("[2] Applying Controller Delta Logic...") print("-" * 20 + " OUTPUT " + "-" * 20) diff --git a/ruoyi-fastapi-backend/test/test_rag_internal.py b/ruoyi-fastapi-backend/test/test_rag_internal.py index 59fde28..8b7825c 100644 --- a/ruoyi-fastapi-backend/test/test_rag_internal.py +++ b/ruoyi-fastapi-backend/test/test_rag_internal.py @@ -30,7 +30,8 @@ async def test_rag_internal(): try: # Call the NATIVE SERVICE method directly # This bypassed the Controller Delta Logic, so we expect CUMULATIVE text here. - result_stream = await RAGFlowService.converse_with_chat_assistant_services(params) + # 修复:直接获取AsyncGenerator,不使用await消费 + result_stream = RAGFlowService.converse_with_chat_assistant_services(params) print("\n[Start Streaming]...") async for chunk in result_stream: diff --git a/ruoyi-fastapi-backend/verify_fix_logic.py b/ruoyi-fastapi-backend/verify_fix_logic.py index a63db8c..cc72522 100644 --- a/ruoyi-fastapi-backend/verify_fix_logic.py +++ b/ruoyi-fastapi-backend/verify_fix_logic.py @@ -107,8 +107,8 @@ async def test_new_implementation(): print("="*60) try: - # 服务层直接返回生成器 - generator = await MockRAGFlowServiceNew.converse_with_chat_assistant_services( + # 修复:直接获取AsyncGenerator,不使用await消费 + generator = MockRAGFlowServiceNew.converse_with_chat_assistant_services( chat_id="test_chat_123", question="你好", stream=True