随路参数应用示例

更新时间:
复制为 MD 格式

本文档是关于对话机器人中随路参数的应用示例。

一、随路参数概念

随路参数是智能对话机器人中用于在对话流程中传递和保存上下文信息的关键机制。通过随路参数,可以在对话的不同环节之间传递用户信息、业务数据和状态标识,实现更智能、更个性化的对话体验。

二、传入随路参数

目前对话机器人有两个位置支持传入随路参数:

  1. 流式会话接口接口的VendorParam字段中进行传入;image

  2. 在渠道部署中传入变量:

    要求传入的变量都必须添加_biz_作为变量的前缀,避免覆盖系统自带的运行信息。如果不添加此前缀,传入的参数将会被忽略。

    • 独立页面部署传入

      1. 假设传入的变量为city=hangzhou

      2. 添加前缀后为:_biz_city=hangzhou,完整示例:https://chatbot.aliyuncs.com/intl/index.htm?locale=zh-CN&from=xx&_biz_city=hangzhou

      3. 在流程里引用需要此变量的地方,填写:${envVars['VENDOR_PARAM']['_biz_city']}

    • 悬浮挂件部署传入

      1. 假设传入的变量为city: 'hangzhou'

      2. 添加前缀后为:_biz_city: 'hangzhou',完整示例:

        <script src="https://o.alicdn.com/mecloud/shell/dialog.js"></script><script>window.AlimeDialog({
                from: 'xxxxx',
                params: {
                    _user_access_token: '${Token}',
                    _biz_city: 'hangzhou'
                }
            },
            );
        </script>
      3. 在流程里引用需要此变量的地方,填写:${envVars['VENDOR_PARAM']['_biz_city']}

    • 登录的用户信息

      1. 通过获取用户免登Token接口接入后,按照用户登录配置了免登后,可以在随路参数里拿到用户信息。

      2. 在流程里引用需要用户信息的地方,按需填写变量表达式。例如:${envVars['VENDOR_PARAM']['userInfo']['extraInfo']['customerNameCard'][0]['value']}

      3. 可用的用户信息字段有。

        {
            "userInfo": {
                // 智能对话机器人客户用户体系id
                "id": 1018397757,
                // GenerateUserAccessToken接口传入的Nick
                "nick": "克霖",
                // GenerateUserAccessToken接口传入的ForeignId
                "foreignId": "b01f2f81",
                // GenerateUserAccessToken接口传入的Telephone
                "telephone": "1882222****",
                // GenerateUserAccessToken接口传入的Email
                "email": "xxx@aliyunid.com",
                // GenerateUserAccessToken接口传入的ExtraInfo
                "extraInfo": {
                    "exp": 1221,
                    "city": "hangzhou",
                    "customerNameCard": [
                        {
                            "value": "v2",
                            "key": "等级"
                        }
                    ]
                },
                // 用户类型,user为已登录的用户,guest为游客
                "userType": "user"
            }
        }

三、应用随路参数的场景

重要

应用的前提是添加随路参数时自定义的参数名要和传入的参数名保持一致。

第一种:在人设中应用随路参数

操作方式

在人设配置的以下模块中,通过输入 "/" 的方式添加随路参数:

  • 职责&服务场景

  • 背景知识

  • 技能&工作流

  • 约束&限制

  • 其他配置项

image

适用场景

需要在单个机器人全局层面预设参数,使其在整个对话过程中持续生效。

第二种:在API中直接应用随路参数

操作方式

API接口中增加入参字段,作为随路参数传入。

要求:

  1. 随路参数里的参数要和入参同名;

  2. 取值来源可以选择固定值/模型识别。

image

适用场景

外部系统调用时需要传递业务数据,如用户ID、订单号、会话标识等。

第三种:应用流程管理使用随路参数

操作方式

在流程节点中配置随路参数:

  1. 调用插件节点/参数收集节点:当取值来源选择“引用”时,可添加随路参数信息。

    image

  2. 逻辑判断节点:在逻辑判断节点可以添加随路参数作为条件设置。image

适用场景

  1. 调用插件节点:适用调用外部服务时需要传递上下文信息、需要将对话中收集的信息传递给业务系统等场景;

  2. 参数收集节点:适用需要引用之前对话中已收集的信息、避免重复询问用户相同问题等场景;

  3. 逻辑判断节点:适用于根据用户属性/业务状态进行流程分支判断等场景。

四、随路参数的测试与验证

在测试窗口中可以添加随路参数信息进行调试验证,确保参数在对话流程中正确传递和应用。

image