流程变量含义及取值方式说明

本文档主要介绍流程编排中各流程变量的含义和取值方式。

变量含义

名称

释义

类型

值获取方式

备注

systemVars

系统参数

json

${systemVars.uid}

系统预置参数,当前包含uid、tenantid

bizVars

业务传入参数

json

${bizVars.abc}

开始节点声明的参数

svcVars

节点执行结果参数

json

${svcVars.节点id.response.xxx}

各节点的出入参,取

(1)大模型出参:svcVars.节点id.response.text (2)插件出参:svcVars.节点id.response.data.xxx (3)脚本出参:svcVars.节点id.response.变量名

变量示例

下方为svcVars的出参示例:

{
    "svcVars":{
        "LLM_DGc2XV":{
            "params":{
                "modelId":"qwen-plus-v1",
                "prompt":"你是一个音乐播放器,根据下面的描述,推荐一首适合这个天气听的歌曲${data}"
            },
            "response":{
                "text":"根据你的描述,我会推荐一首名为《听见下雨的声音》的歌曲。这首歌是周杰伦的一首经典歌曲,歌词描绘了一个人在雨中的情感和思绪,旋律优美而抒情,非常适合这样的天气和气温。希望你会喜欢这首歌曲!"
            }
        },
        "Script_szLxMn":{
            "response":{
                "temp":[
                    "a",
                    " ",
                    "c"
                ]
            }
        }
    }
}

变量取值

大模型节点prompt录入区域,获取变量用${}将变量括住。

脚本节点录入区域,获取变量时不需要用$进行标识,直接使用变量按照层级获取(例如bizVars.xxx)。

1、获取用户的问句

systemVars.query

2、获取开始节点中声明的变量

bizVars.xxx

3、获取各节点的出参

(1)LLM节点出参

svcVars.节点id.response.text

(2)API调用节点出参

a、API返回是个json object

svcVars.节点id.response.变量名

b、API返回是个json array

svcVars.节点id.response.list[0].变量名,

c、API返回是个非json

svcVars.Api_xxx.response.text

(3)Script节点出参

svcVars.节点id.response.变量名

(4)函数计算节点出参

svcVars.节点id.自定义key.变量名

4、特殊用法

当获取的结果为list时,例如下面的结构:

{
    "response":[
        {
            "text":"你好1",
            "description":"你好111"
        },
        {
            "text":"你好2",
            "description":"你好222"
        }
    ]
}

如果想要获取这个列表中的text字段,获取出来的结果预期为["你好1","你好2"],表达式可以写为response.#text#,responselistkey,想要获取list具体的某项值,需要用##框起来即可。

如果想要获取第1个变量,则response[0].text来实现,list后面加上index即可。