add icon for tool node execution

This commit is contained in:
takatost
2024-03-29 22:22:58 +08:00
parent b394dd6fb0
commit 429dd11dd7
4 changed files with 34 additions and 1 deletions

View File

@ -66,6 +66,7 @@ class NodeRunMetadataKey(Enum):
TOTAL_TOKENS = 'total_tokens'
TOTAL_PRICE = 'total_price'
CURRENCY = 'currency'
TOOL_INFO = 'tool_info'
class NodeRunResult(BaseModel):

View File

@ -8,7 +8,7 @@ from core.tools.tool_engine import ToolEngine
from core.tools.tool_manager import ToolManager
from core.tools.utils.message_transformer import ToolFileMessageTransformer
from core.workflow.entities.base_node_data_entities import BaseNodeData
from core.workflow.entities.node_entities import NodeRunResult, NodeType
from core.workflow.entities.node_entities import NodeRunMetadataKey, NodeRunResult, NodeType
from core.workflow.entities.variable_pool import VariablePool
from core.workflow.nodes.base_node import BaseNode
from core.workflow.nodes.tool.entities import ToolNodeData
@ -30,6 +30,12 @@ class ToolNode(BaseNode):
node_data = cast(ToolNodeData, self.node_data)
# fetch tool icon
tool_info = {
'provider_type': node_data.provider_type,
'provider_id': node_data.provider_id
}
# get parameters
parameters = self._generate_parameters(variable_pool, node_data)
# get tool runtime
@ -39,6 +45,9 @@ class ToolNode(BaseNode):
return NodeRunResult(
status=WorkflowNodeExecutionStatus.FAILED,
inputs=parameters,
metadata={
NodeRunMetadataKey.TOOL_INFO: tool_info
},
error=f'Failed to get tool runtime: {str(e)}'
)
@ -54,6 +63,9 @@ class ToolNode(BaseNode):
return NodeRunResult(
status=WorkflowNodeExecutionStatus.FAILED,
inputs=parameters,
metadata={
NodeRunMetadataKey.TOOL_INFO: tool_info
},
error=f'Failed to invoke tool: {str(e)}',
)
@ -66,6 +78,9 @@ class ToolNode(BaseNode):
'text': plain_text,
'files': files
},
metadata={
NodeRunMetadataKey.TOOL_INFO: tool_info
},
inputs=parameters
)