Skip to content

Commit f275442

Browse files
committed
fix: add validation to ensure model_id is not empty in various nodes
1 parent 353d866 commit f275442

File tree

11 files changed

+39
-4
lines changed

11 files changed

+39
-4
lines changed

apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ def execute(self, model_id, system, prompt, dialogue_number, history_chat_record
277277
if reference_data and isinstance(reference_data, dict):
278278
model_id = reference_data.get('model_id', model_id)
279279
model_params_setting = reference_data.get('model_params_setting')
280+
if model_id is None or model_id == '':
281+
raise Exception(_('Model is not allowed to be empty'))
280282

281283
if model_params_setting is None and model_id:
282284
model_params_setting = get_default_model_params_setting(model_id)

apps/application/flow/step_node/image_generate_step_node/impl/base_image_generate_node.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import requests
66
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
7-
7+
from django.utils.translation import gettext_lazy as _
88
from application.flow.common import WorkflowMode
99
from application.flow.i_step_node import NodeResult
1010
from application.flow.step_node.image_generate_step_node.i_image_generate_node import IImageGenerateNode
@@ -37,6 +37,9 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
3737
model_id = reference_data.get('model_id', model_id)
3838
model_params_setting = reference_data.get('model_params_setting')
3939

40+
if model_id is None or model_id == '':
41+
raise Exception(_('Model is not allowed to be empty'))
42+
4043
workspace_id = self.workflow_manage.get_body().get('workspace_id')
4144
tti_model = get_model_instance_by_model_workspace_id(model_id, workspace_id,
4245
**(model_params_setting or {}))

apps/application/flow/step_node/image_to_video_step_node/impl/base_image_to_video_node.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import requests
77
from django.db.models import QuerySet
88
from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
9-
9+
from django.utils.translation import gettext_lazy as _
1010
from application.flow.common import WorkflowMode
1111
from application.flow.i_step_node import NodeResult
1212
from application.flow.step_node.image_to_video_step_node.i_image_to_video_node import IImageToVideoNode
@@ -40,7 +40,8 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
4040
if reference_data and isinstance(reference_data, dict):
4141
model_id = reference_data.get('model_id', model_id)
4242
model_params_setting = reference_data.get('model_params_setting')
43-
43+
if model_id is None or model_id == '':
44+
raise Exception(_('Model is not allowed to be empty'))
4445
workspace_id = self.workflow_manage.get_body().get('workspace_id')
4546
ttv_model = get_model_instance_by_model_workspace_id(model_id, workspace_id,
4647
**(model_params_setting or {}))

apps/application/flow/step_node/image_understand_step_node/impl/base_image_understand_node.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from django.db.models import QuerySet
99
from langchain_core.messages import BaseMessage, HumanMessage, SystemMessage, AIMessage
10-
10+
from django.utils.translation import gettext_lazy as _
1111
from application.flow.i_step_node import NodeResult, INode
1212
from application.flow.step_node.image_understand_step_node.i_image_understand_node import IImageUnderstandNode
1313
from application.flow.tools import Reasoning
@@ -153,6 +153,8 @@ def execute(self, model_id, system, prompt, dialogue_number, dialogue_type, hist
153153
model_id = reference_data.get('model_id', model_id)
154154
model_params_setting = reference_data.get('model_params_setting')
155155

156+
if model_id is None or model_id == '':
157+
raise Exception(_('Model is not allowed to be empty'))
156158
# 处理不正确的参数
157159
workspace_id = self.workflow_manage.get_body().get('workspace_id')
158160
image_model = get_model_instance_by_model_workspace_id(model_id, workspace_id,

apps/application/flow/step_node/speech_to_text_step_node/impl/base_speech_to_text_node.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ def execute(self, stt_model_id, audio, model_params_setting=None, stt_model_id_t
3333
stt_model_id = reference_data.get('stt_model_id', reference_data.get('model_id', stt_model_id))
3434
model_params_setting = reference_data.get('model_params_setting')
3535

36+
from django.utils.translation import gettext_lazy as _
37+
38+
if stt_model_id is None or stt_model_id == '':
39+
raise Exception(_('Model is not allowed to be empty'))
3640
workspace_id = self.workflow_manage.get_body().get('workspace_id')
3741
stt_model = get_model_instance_by_model_workspace_id(stt_model_id, workspace_id, **(model_params_setting or {}))
3842
audio_list = audio

apps/application/flow/step_node/text_to_speech_step_node/impl/base_text_to_speech_node.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ def execute(self, tts_model_id,
5656
if reference_data and isinstance(reference_data, dict):
5757
tts_model_id = reference_data.get('tts_model_id', reference_data.get('model_id', tts_model_id))
5858
model_params_setting = reference_data.get('model_params_setting')
59+
60+
from django.utils.translation import gettext_lazy as _
61+
62+
if tts_model_id is None or tts_model_id == '':
63+
raise Exception(_('Model is not allowed to be empty'))
5964
# 分割文本为合理片段
6065
content = _remove_empty_lines(content)
6166
content_chunks = [content[i:i + max_length]

apps/application/flow/step_node/text_to_video_step_node/impl/base_text_to_video_node.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ def execute(self, model_id, prompt, negative_prompt, dialogue_number, dialogue_t
3838
model_id = reference_data.get('model_id', model_id)
3939
model_params_setting = reference_data.get('model_params_setting')
4040

41+
from django.utils.translation import gettext_lazy as _
42+
43+
if model_id is None or model_id == '':
44+
raise Exception(_('Model is not allowed to be empty'))
4145
workspace_id = self.workflow_manage.get_body().get('workspace_id')
4246
ttv_model = get_model_instance_by_model_workspace_id(model_id, workspace_id,
4347
**(model_params_setting or {}))

apps/application/flow/step_node/video_understand_step_node/impl/base_video_understand_node.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,11 @@ def execute(self, model_id, system, prompt, dialogue_number, dialogue_type, hist
148148
model_id = reference_data.get('model_id', model_id)
149149
model_params_setting = reference_data.get('model_params_setting')
150150

151+
from django.utils.translation import gettext_lazy as _
152+
153+
if model_id is None or model_id == '':
154+
raise Exception(_('Model is not allowed to be empty'))
155+
151156
workspace_id = self.workflow_manage.get_body().get('workspace_id')
152157
if model_setting is None:
153158
model_setting = {'reasoning_content_enable': False, 'reasoning_content_end': '</think>',

apps/locales/en_US/LC_MESSAGES/django.po

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9188,3 +9188,6 @@ msgstr "Batch delete tools"
91889188
msgid "Batch move tools"
91899189
msgstr "Batch move tools"
91909190

9191+
msgid "Model is not allowed to be empty"
9192+
msgstr ""
9193+

apps/locales/zh_CN/LC_MESSAGES/django.po

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9311,3 +9311,6 @@ msgstr "批量删除工具"
93119311
msgid "Batch move tools"
93129312
msgstr "批量移动工具"
93139313

9314+
msgid "Model is not allowed to be empty"
9315+
msgstr "模型不能为空"
9316+

0 commit comments

Comments
 (0)