更新时间:2026-11-03 GMT+08:00
分享

代码

代码节点是工作流中用于执行自定义代码逻辑的节点。当工作流中需要进行数据处理、格式转换、数学计算、逻辑判断等操作,而这些操作用其他节点难以实现或用大模型处理不够准确时,可以通过代码节点编写代码来完成。代码执行的结果是确定的,相同的输入必然得到相同的输出。对于计算、格式转换等任务,代码比大模型更准确、更快、且不消耗Token。

代码节点的典型使用场景如下:

表1 代码节点使用场景

场景

示例

数据格式转换

将上游节点返回的JSON数据提取、重组为下游节点需要的格式。

数学计算

价格计算、折扣计算、数据汇总统计等。

文本处理

正则匹配、字符串拼接、内容截取、编码转换等。

逻辑判断

复杂的条件判断、数据校验、规则匹配等。

数据清洗

去重、过滤、排序、字段映射等。

前提条件

已构建工作流。

配置代码节点

  1. 在工作流编排画布中,单击“添加节点”按钮,从节点列表中选择“代码”,即可将该节点添加至当前工作流编排画布中。

    图1 添加代码节点

  2. 单击“代码”节点,在弹出的节点详情页面中进行参数配置,参考表2。

    图2 代码节点配置

    表2 代码节点配置参数

    参数

    说明

    输入参数

    输入参数用于声明代码中所使用的输入变量,每个输入参数需要和代码中定义的参数保持一致。

    参数值可以直接填写一个固定的值,也可以选择引用工作流中上游节点的输出和全局配置的记忆变量。

    输出参数

    输出参数用于定义代码执行完成后向下游传递哪些数据,输出参数的名称和类型必须与代码中返回的键值对严格对应。

    代码

    • 编写代码时不要更改第一行函数定义。
    • 编写Python代码片段。
    • 代码最大支持58MB。

  3. 单击上方的“保存”。

Python 3.11代码要求

支持Python 3.11版本及其标准库,并支持如下的非标准库,可直接在Python函数代码中声明使用。

模块

功能

numpy

数学计算

pandas

数据分析和处理

matplotlib

数据可视化及绘图

示例:

def main(params: dict) -> dict:
    """
    Python节点代码必须包括且只包含一个main函数,该main函数为代码执行的入口函数,
    且参数和返回值类型为dict,且是单参数和单值返回,该节点的输入和输出参数均由dict类型表示,
    参考样例参数说明:输入参数为:input_param1和input_param2, 输出参数为:out_param
    :param params: 输入参数字典,只有一个字典类型的参数,节点定义的参数由该字典参数表示
    :return: 返回参数字典,节点定义的输出参数由返回的字典表示,且是单值返回
    """
    input_param1 = params.get('input_param1', 102)
    input_param2 = params.get('input_param2', 101)
    return {
    "out_param": input_param1 + input_param2
    }
  • 平台通过固定的main函数触发代码执行,函数名不可修改。
  • 输入参数args是一个字典(dict),包含了在代码节点界面配置的所有输入参数,以参数名为key、参数值为value的键值对形式传入。通过args.get('参数名', '默认值') 读取,建议始终设置默认值,避免参数缺失时报错。
  • 返回值是一个字典(dict),直接return即可,无需做JSON转换。返回字典中的key必须与代码节点界面配置的“输出参数”名称完全一致(区分大小写),否则下游节点将无法获取到对应的值。
  • 在代码节点界面的“输出参数”区域配置的参数名,必须与代码return字典中的key对应。
  • 编写约束:
    入口函数名必须是main,接收一个dict参数,返回一个dict
    直接返回字典即可,无需json.dumps()转换 
    即使只有一个输出字段,也必须以字典形式返回  
    ×  return "hello"  
    √  return {"message": "hello"}

相关文档