From f58d5f184f87cb2c4dcafadce3306a30d75abd51 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 01:28:43 +0000 Subject: [PATCH 1/2] fix: initialize chunk variable before reference in difysvapi.py Co-Authored-By: Junyan Qin --- pkg/provider/runners/difysvapi.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/provider/runners/difysvapi.py b/pkg/provider/runners/difysvapi.py index ef35e829..1c2b858e 100644 --- a/pkg/provider/runners/difysvapi.py +++ b/pkg/provider/runners/difysvapi.py @@ -114,6 +114,8 @@ class DifyServiceAPIRunner(runner.RequestRunner): inputs = {} inputs.update(query.variables) + + chunk = None # 初始化chunk变量,防止在没有响应时引用错误 async for chunk in self.dify_client.chat_messages( inputs=inputs, @@ -171,6 +173,8 @@ class DifyServiceAPIRunner(runner.RequestRunner): inputs.update(query.variables) pending_agent_message = '' + + chunk = None # 初始化chunk变量,防止在没有响应时引用错误 async for chunk in self.dify_client.chat_messages( inputs=inputs, From e265f267e10cb017587433e6f18d1f4969013eef Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 01:37:04 +0000 Subject: [PATCH 2/2] improve: add explicit error handling for empty API responses Co-Authored-By: Junyan Qin --- pkg/provider/runners/difysvapi.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/provider/runners/difysvapi.py b/pkg/provider/runners/difysvapi.py index 1c2b858e..863359f1 100644 --- a/pkg/provider/runners/difysvapi.py +++ b/pkg/provider/runners/difysvapi.py @@ -146,6 +146,9 @@ class DifyServiceAPIRunner(runner.RequestRunner): content=self._try_convert_thinking(basic_mode_pending_chunk), ) basic_mode_pending_chunk = '' + + if chunk is None: + raise errors.DifyAPIError("Dify API 没有返回任何响应,请检查网络连接和API配置") query.session.using_conversation.uuid = chunk["conversation_id"] @@ -238,6 +241,9 @@ class DifyServiceAPIRunner(runner.RequestRunner): ) if chunk['event'] == 'error': raise errors.DifyAPIError("dify 服务错误: " + chunk['message']) + + if chunk is None: + raise errors.DifyAPIError("Dify API 没有返回任何响应,请检查网络连接和API配置") query.session.using_conversation.uuid = chunk["conversation_id"]