第三方引擎接入与回复优先级配置
所有文档

          智能客服对话平台 ICS

          第三方引擎接入与回复优先级配置

          第一步:服务层搭建

          说明

          本平台支持第三方会话引擎可插拔方式接入集成。调用ngd core/query接口时,ngd作为客户端会去第三方会话引擎进行查询,获取响应,根据优先级规则处理,返回用户;支持第三方会话引擎session管理。具体介绍如下:

          URL

          业务方自定义即可,支持http/https

          请求方式

          POST

          请求认证

          Header Authorization机制

          Authorization 生成方式

          public String basic(String userName, String password) {
              if (StringUtils.isEmpty(userName) && StringUtils.isEmpty(password)) {
                      return null;
              }
              String usernameAndPassword = userName + ":" + password;
              byte[] bytes = usernameAndPassword.getBytes(Charset.forName("ISO-8859-1"));
              return "Basic " + Base64.getEncoder().encodeToString(bytes);
          }

          请求HEADER

          根据配置header列表进行透传

          请求参数说明

          请求体说明

          参数名 类型 必选 说明
          queryId String 请求Id
          queryText String 请求文本
          sessionId String 会话id,会话session使用
          channel String 渠道信息
          context Map 上下文信息。当前的会话引擎上下文信息

          返回参数

          参数 类型 说明
          errno int 错误码,响应正常情况为200,非200则为失败请求
          msg String 错误信息
          data Map<String, Object> json

          data

          参数 说明 类型 必须返回
          answerText 需要返回的回答文本 String 否,澄清情况可以只返回clarifyList,非澄清情况必须返回
          answer 需要返回的回答详情,第三方会话引擎定义 Map<String, Object> 否,澄清情况可以只返回clarifyList,非澄清情况必须返回
          clarifyList 澄清答案,如果是列表类型支持和多轮意图、faq澄清一起合并澄清 List 否,非澄清情况不需要返回
          isClarify 是否是澄清答案 Boolean
          repEL answerText是否需要表达式替换 Boolean
          context 当前会话引擎最新的上下文信息,会全量替换 json
          solved 是否有答案 Boolean
          confidence 相似度,需要保证多会话引擎间可比较 Double
          model 引擎模型 String

          请求示例

          curl -XPOST 'https://xxx.xxx.xx/query' -d '{"queryId":"请求标识","queryText":"请求文本","sessionId":"会话标识","channel":"渠道信息","context":{"val":"上下文信息,key、val自定义,整体context透传"}}'

          返回结果

          {
            "code": 200,
            "time": 1515128855583,
            "msg": "ok",
            "data": {
              "answerText": "文本回复",
              "answer": "回复详情",
              "isClarify": false,
              "context": {
                "val": "上下文信息,key、val自定义,整体context全量覆盖更新"
              },
              "solved": true,
              "confidence": 1.0
            }
          }

          第二步:注册第三方引擎

          选择【基础资源】-【第三方对话引擎】-【增加引擎】,在弹窗中编辑引擎相关信息。其中URL地址需要配置第一步中服务提供的地址了;如果服务层有要求,也需要填写相关的用户认证和header参数。

          image.png

          填写完成后保存,形成该引擎的卡片

          image.png

          第三步:配置第三方引擎优先级

          选择【会话bot】-【管理bot】-【回复优先级】-【自定义】,在回复优先级列表中根据需求增加自定义规则

          选择所属引擎为刚才创建的第三方引擎,并设置条件,至少要设置一项条件,一般为“是否有答案”为”是“

          image.png

          除了是否有答案,目前还可以配置:置信度、命中的算法、是否澄清、上轮会话是否命中webhook等策略(前提是服务层支持传入相关内容)。

          image.png

          设置好规则并保存后,即可接入第三方服务。在会话测试窗口,可以直接针对第三方引擎进行测试。

          image.png

          在测试时,可以针对性选择对话模式为某个第三方引擎,或根据调试信息判断对话回复的来源是否为第三方引擎。

          image.png

          上一篇
          规则实体与复合实体
          下一篇
          功能实验室