|
6 | 6 | @date:2026/3/27 18:47 |
7 | 7 | @desc: |
8 | 8 | """ |
9 | | -import json |
10 | 9 | import time |
11 | 10 | import traceback |
12 | 11 |
|
13 | 12 | import uuid_utils.compat as uuid |
14 | 13 | from django.db.models import QuerySet |
15 | | -from django.utils.translation import gettext as _ |
16 | 14 |
|
17 | 15 | from application.flow.common import WorkflowMode, Workflow |
18 | 16 | from application.flow.i_step_node import ToolWorkflowPostHandler, get_tool_workflow_state |
19 | 17 | from application.serializers.common import ToolExecute |
| 18 | +from common.utils.common import common_convert_value |
20 | 19 | from common.utils.logger import maxkb_logger |
21 | 20 | from common.utils.tool_code import ToolExecutor |
22 | 21 | from knowledge.models.knowledge_action import State |
@@ -44,40 +43,14 @@ def get_field_value(value, kwargs): |
44 | 43 | else: |
45 | 44 | return get_reference(value.get('value'), kwargs) |
46 | 45 |
|
47 | | - |
48 | | -def _convert_value(_type, value): |
49 | | - if value is None: |
50 | | - return None |
51 | | - |
52 | | - if _type == 'int': |
53 | | - return int(value) |
54 | | - if _type == 'boolean': |
55 | | - if isinstance(value, str) and value.lower() in ('false', '0', '[]', ''): |
56 | | - return False |
57 | | - return bool(value) |
58 | | - if _type == 'float': |
59 | | - return float(value) |
60 | | - if _type == 'dict': |
61 | | - v = json.loads(value) |
62 | | - if isinstance(v, dict): |
63 | | - return v |
64 | | - raise Exception(_('type error')) |
65 | | - if _type == 'array': |
66 | | - v = json.loads(value) |
67 | | - if isinstance(v, list): |
68 | | - return v |
69 | | - raise Exception(_('type error')) |
70 | | - return value |
71 | | - |
72 | | - |
73 | 46 | def get_tool_execute_parameters(input_field_list, parameter_setting, kwargs): |
74 | 47 | type_map = {f.get("name"): f.get("type") for f in (input_field_list or []) if f.get("name")} |
75 | 48 |
|
76 | 49 | parameters = {} |
77 | 50 | if parameter_setting: |
78 | 51 | for key, value in parameter_setting.items(): |
79 | 52 | raw = get_field_value(value, kwargs) |
80 | | - parameters[key] = _convert_value(type_map.get(key), raw) |
| 53 | + parameters[key] = common_convert_value(type_map.get(key), raw) |
81 | 54 | return parameters |
82 | 55 |
|
83 | 56 |
|
|
0 commit comments