本文档主要介绍流程编排中各流程变量的含义和取值方式。
变量含义
名称 | 释义 | 类型 | 值获取方式 | 备注 |
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#,response为list的key,想要获取list具体的某项值,需要用##框起来即可。
如果想要获取第1个变量,则response[0].text来实现,list后面加上index即可。