DialogFlow CX文本回复内嵌系统函数不生效问题咨询
Dialogflow CX 内嵌系统函数使用问题排查与示例
常见失效原因
- 确认你使用的是 Dialogflow CX 版本,内嵌系统函数为CX专属特性,Dialogflow ES版本不支持该语法
- 缺少必要的插值包裹符:系统函数不能直接裸写在文本中,必须放在
$[]插值语法内才会被解析执行,直接写$sys.func.ADD(1, 2)会被识别为普通文本输出 - 配置位置错误:仅流、页面、路由、参数级别的文本 fulfillment 支持内嵌系统函数,自定义payload、部分老旧响应模板暂不支持该语法
- 函数参数类型/拼写错误:函数名、参数数量、参数类型和要求不匹配时,系统会跳过解析直接输出原字符串
正确使用示例
1. 数值计算
实现1+2的运算输出,正确写法:本次计算结果为:$[$sys.func.ADD(1, 2)]
实际响应输出:本次计算结果为:3
2. 字符串拼接
拼接会话参数生成动态提示,正确写法:您好$[$sys.func.CONCAT($session.params.user_name, ",您的当前积分是", $session.params.point)]
如果用户名为张三、积分为120,实际响应输出:您好张三,您的当前积分是120
3. 条件分支输出
根据参数值返回不同文本,正确写法:订单状态:$[$sys.func.IF($session.params.order_status == 2, "已签收", "配送中")]
如果订单状态为2,实际响应输出:订单状态:已签收
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

