本文档主要介绍函数计算节点的使用。
节点界面
节点说明
百炼平台提供函数计算节点,借助阿里云函数计算(FC)能力,旨在为开发者提供更丰富的代码开发能力。利用阿里云的服务关联角色,在用户授权后,可以拉取用户的函数列表,同时也可以调用指定的函数,来完成自定义代码在流程内的应用。
授权说明
如果函数计算没有进行过授权,函数计算节点会置灰不可拖动,需要先进行授权。
点击授权后,会弹出授权说明。授权后,函数计算节点可拖动。关于服务关联角色的介绍以及角色如何删除,可以参考SFM服务关联角色。
配置页面
函数节点配置说明
如上图,【region】是用户函数计算服务所对应的区域,当前仅支持杭州和北京。当切换region后,【函数名称】对应的列表会获取相应region下的所有函数名称进行展示,最终选取待调用的函数即可。
【输入参数设置】,用于函数调用时透传参数。如图举例,函数计算中需要两个参数,cityParam和dateParam,需要将业务入参中的city和date参数传给相应的参数,可以像图中一样进行配置。【输出参数设置】用于定义函数计算结果放入结果集合中的key,方便后续节点获取函数计算的结果。输入输出参数的取值逻辑可以参考流程变量含义及取值方式说明。
函数计算创建及使用
函数计算建议创建【事件函数】,该方式已和函数计算节点进行了打通,可以方便进行传参。
以hello world的示例代码进行举例,代码如下图所示,打印event参数。
从百炼流程调试发起调用,传入2个参数,cityParam为杭州,dateParam为2024-01-26,调用之后返回结果hello world。查看函数计算的日志,输出了当前的event,cityParam及dateParam参数以dict的形式传入函数计算中,实现了函数计算中能够使用大模型流程中间结果的功能。
函数计算的出参
由于调用函数计算的输出均被转为string处理,这样在各个节点内无法方便获取复杂对象中的值,所以百炼在函数计算的返回结果上进行了转换,当返回为dict、map或者list时,会被转为对象在全局变量中。
例如,函数计算返回"{\"a\":\"1\",\"b\":\"2\"}",百炼会将这个jsonstring转为{"a":"1","b":"2"},当获取该结果值时可以直接通过svcVars.{函数计算id}.{结果key}.a获取到a的值。以上具体的取值逻辑可以参考流程变量含义及取值方式说明。