定义
代码节点支持您在工作流中运行 Python 或 NodeJS 代码,从而实现强大的数据转换功能。它能极大简化您的工作流程,特别适用于算术运算、JSON 转换、文本处理等场景。
该节点赋予开发者极高的灵活性,允许您在工作流中嵌入自定义的 Python 或 JavaScript 脚本,以预设节点无法比拟的方式操作变量。通过简单的配置,您可以指定所需的输入变量和输出变量,并编写相应的执行代码。
前置条件
节点配置
点击开始后面的添加代码执行节点。
如果你需要在代码节点中使用其他节点的变量,你需要在输入变量
中定义变量名,并引用这些变量。
使用场景
使用代码节点,你可以完成以下常见的操作。
结构化数据处理
在工作流中,经常要面对非结构化的数据处理,如JSON字符串的解析、提取、转换等。最典型的例子就是HTTP节点的数据处理,在常见的API返回结构中,数据可能会被嵌套在多层JSON对象中,而我们需要提取其中的某些字段。代码节点可以帮助你完成这些操作,下面是一个简单的例子,它从HTTP节点返回的JSON字符串中提取了data.name字段:
def main(http_response: str) -> dict:
import json
data = json.loads(http_response)
return {
# 注意在输出变量中声明result
'result': data['data']['name']
}
数学计算
当工作流中需要进行一些复杂的数学计算时,也可以使用代码节点。例如,计算一个复杂的数学公式,或者对数据进行一些统计分析。下面是一个简单的例子,它计算了一个数组的平方差。
def main(x: list) -> dict:
return {
# 注意在输出变量中声明result
'result' : sum([(i - sum(x) / len(x)) ** 2 for i in x]) / len(x)
}
拼接数据
有时,也许你需要拼接多个数据源,如多个知识检索、数据搜索、API调用等,代码节点可以帮助你将这些数据源整合在一起。下面是一个简单的例子,它将两个知识库的数据合并在一起。
def main(knowledge1: list, knowledge2: list) -> dict:
return {
# 注意在输出变量中声明result
'result': knowledge1 + knowledge2
}
该文章对您有帮助吗?