fix(workflow): properly throw exception when LLM node model ID is not configured
This commit is contained in:
@@ -68,12 +68,13 @@ class LLMNode(BaseNode):
|
|||||||
- ai/assistant: AI 消息(AIMessage)
|
- ai/assistant: AI 消息(AIMessage)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def _output_types(self) -> dict[str, VariableType]:
|
|
||||||
return {"output": VariableType.STRING}
|
|
||||||
|
|
||||||
def __init__(self, node_config: dict[str, Any], workflow_config: dict[str, Any]):
|
def __init__(self, node_config: dict[str, Any], workflow_config: dict[str, Any]):
|
||||||
super().__init__(node_config, workflow_config)
|
super().__init__(node_config, workflow_config)
|
||||||
self.typed_config: LLMNodeConfig | None = None
|
self.typed_config: LLMNodeConfig | None = None
|
||||||
|
self.messages = []
|
||||||
|
|
||||||
|
def _output_types(self) -> dict[str, VariableType]:
|
||||||
|
return {"output": VariableType.STRING}
|
||||||
|
|
||||||
def _render_context(self, message: str, variable_pool: VariablePool):
|
def _render_context(self, message: str, variable_pool: VariablePool):
|
||||||
context = f"<context>{self._render_template(self.typed_config.context, variable_pool)}</context>"
|
context = f"<context>{self._render_template(self.typed_config.context, variable_pool)}</context>"
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
工作流服务层
|
工作流服务层
|
||||||
"""
|
"""
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
import uuid
|
import uuid
|
||||||
from typing import Any, Annotated, Optional
|
from typing import Any, Annotated, Optional
|
||||||
@@ -448,13 +447,9 @@ class WorkflowService:
|
|||||||
message=f"工作流配置不存在: app_id={app_id}"
|
message=f"工作流配置不存在: app_id={app_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
json_files = []
|
|
||||||
for file in payload.files:
|
|
||||||
file_json = json.loads(file.model_dump_json())
|
|
||||||
json_files.append(file_json)
|
|
||||||
input_data = {"message": payload.message, "variables": payload.variables,
|
input_data = {"message": payload.message, "variables": payload.variables,
|
||||||
"conversation_id": payload.conversation_id,
|
"conversation_id": payload.conversation_id,
|
||||||
"files": json_files
|
"files": [file.model_dump(mode='json') for file in payload.files]
|
||||||
}
|
}
|
||||||
|
|
||||||
# 转换 conversation_id 为 UUID
|
# 转换 conversation_id 为 UUID
|
||||||
@@ -642,13 +637,9 @@ class WorkflowService:
|
|||||||
message=f"工作流配置不存在: app_id={app_id}"
|
message=f"工作流配置不存在: app_id={app_id}"
|
||||||
)
|
)
|
||||||
|
|
||||||
json_files = []
|
|
||||||
for file in payload.files:
|
|
||||||
file_json = json.loads(file.model_dump_json())
|
|
||||||
json_files.append(file_json)
|
|
||||||
input_data = {"message": payload.message, "variables": payload.variables,
|
input_data = {"message": payload.message, "variables": payload.variables,
|
||||||
"conversation_id": payload.conversation_id,
|
"conversation_id": payload.conversation_id,
|
||||||
"files": json_files
|
"files": [file.model_dump(mode='json') for file in payload.files]
|
||||||
}
|
}
|
||||||
|
|
||||||
# 转换 conversation_id 为 UUID
|
# 转换 conversation_id 为 UUID
|
||||||
|
|||||||
Reference in New Issue
Block a user