会话机器人对接
所有文档

          智能客服对话平台 ICS

          会话机器人对接

          说明

          会话机器人支持个性化的开场欢迎语、热点问题推荐、会话中控、NLU分析, 具体如下:

          • 会话开始接口: /api/v2/core/start(可选)
          • 会话中控接口:

            • /core/v3/query
            • /api/v2/core/query
          • NLU分析: /api/v2/nlu/recognize

          说明:

          • 会话开始接口,用于获取欢迎语,热点推荐问题,支持只返回欢迎语, 只返回推荐问题和两者都返回;
          • 在数据传输上,需保证入参sessionId(见接口说明)统一:

            • 若业务侧调用接口时不传sessionId,会话机器人会自动生成一个sessionId,业务侧需捕获第1个接口返回的sessionId,并作为后续接口调用的入参。
            • 若业务侧调用接口传入自定义的sessionId,则保证调用会话开始接口和会话中控接口使用同一个sessionId即可。
            • 整个session周期内请求的channel必须要一致,否则会导致统计数据有误。

          请求header说明:

          key value 说明
          Authorization token_info NGD access_token: access_token是bot的属性,通过bot管理列表获取;
          NGD develop_token: develop_token是agent的属性, 通过agent列表获取
          Content-Type application/json;charset=UTF-8 post请求必传

          上述方法使用的token对应关系如下表所示:

          方法名 token配置
          /api/v2/core/start bot_access_token
          /api/v2/core/query bot_access_token
          /core/v3/query bot_access_token
          /api/v2/nlu/recognize develop_token

          会话开始接口

          接口地址

          https://api-ngd.baidu.com/api/v2/core/start

          请求方法

          GET/POST

          请求参数说明

          参数名 类型 必选 说明
          type String 请求类别.
          不传或空返回欢迎语和推荐问;
          welcome:只返回欢迎语;recommend:只返回推荐问
          sessionId String 会话id。
          可不传值,由会话机器人生成;
          若传值,使用业务方传入的sessionId,用户传入的sessionId必须保证唯一,如UUID.
          channel String 渠道名称,保持整个会话周期一致
          ext Map 调用方回传参数,格式为json,数据不做处理用来后期分析使用;
          示例:调用会话时传入{ "uid",123 } 会话日志中ext将会存储该信息;用于后期分析

          返回参数说明

          参数名 类型 说明
          code int 错误码
          msg String 错误信息
          data Map<String, Object> 返回欢迎语和推荐问信息

          data

          参数名 类型 说明
          qaRecommend List<String> 推荐问题列表
          sessionId String 会话id
          welcome String 欢迎语
          queryId String 请求id
          queryTime String 请求时间
          answerTime String 响应时间

          请求示例

          curl -X POST \
            'http://api-ngd.baidu.com/api/v2/core/start?sessionId=a0e7d4f9-2bc5-42dd-bec3-6aeba2ba1997&ext={"uid":"0000001"}' \
            -H 'authorization: NGD 89807e2d-cc8d-4a38-b254-4de88ddb274f' \
            -H 'content-type: application/json'
            
          curl -X GET \
            'http://api-ngd.baidu.com/api/v2/core/start?sessionId=a0e7d4f9-2bc5-42dd-bec3-6aeba2ba1997&ext={"uid":"0000001"}' \
            -H 'authorization: NGD 89807e2d-cc8d-4a38-b254-4de88ddb274f' \
            -H 'content-type: application/json'

          响应结果示例

          {
              "time": 1574308601082,
              "data": {
                  "qaRecommend": [
                      "推荐问1?",
                      "推荐问2?",
                      "推荐问3?"
                  ],
                  "welcome": "您好,很高兴为您服务!这是demo哦",
                  "sessionId": "0339271b-2985-4b11-abd4-f2b285d33d32",
                  "botName": "租车bot",
                  "botDesc": null,
                  "botVersion": null,
                  "queryId": "6cc36192-593e-498e-a0af-ae312eb88c47",
                  "queryTime": null,
                  "answerTime": null,
                  "source": "system",
                  "agentType": 1,
                  "queryTime":"2019-11-21 11:11:11",
                  "answerTime":"2019-11-21 11:11:12"
              },
              "code": 200,
              "msg": "OK"
          }

          会话中控接口

          /core/v3/query

          接口说明

          1. 接口返回值答案anser字段解析:

            • 若answerText存在值(下述两种方式任选其一): - 直接使用answer::answerText - 解析answer::answerContents列表,列表中答案类型根据具体type进行解析
            • 若answerText不存在值: - 解析clarify字段
          2. 外呼/呼出类型agent对接:
            • 会话开始时发起一次queryText为空的core/query接口请求,接口返回开场白节点欢迎语。
            • 如果上层所有话术使用TTS播放,只需关注: answerText, 若answerText为空,则解析clarify。
          3. 会话中控接口对敏感词有做校验逻辑,若识别到敏感词,接口请求状态为400,接口返回结果如下:
          参数名 类型 value 说明
          code int 4002010 错误码
          4000019 用户请求过于频繁,请稍后再试 qps大于阀值
          4000647 当前agent不存在可用的会话引擎 无可用会话引擎
          4002409 bot token错误 非法bot token
          4002413 该bot已停用,请启用后再试 bot已停用
          4002010 包含敏感词,请检查 敏感词
          4001104 webhook接口返回答案类型不合法 webhook服务错误
          4000319 对话树配置的跳转存在死循环 对话树配置错误
          4000346 会话引导异常,没有可以回退的场景,请检查开场白片段弱引导配置 引导配置错误

          接口地址

          https://api-ngd.baidu.com/core/v3/query

          请求方法

          POST

          请求参数说明

          参数名 类型 必选 说明
          nlu Boolean 是否返回nlu识别信息(意图,实体,情感,态度)
          debug Boolean 是否打开调试模式,返回调试信息
          queryId String 请求id,用于出现问题时快速定位排查,不传则系统生成uuid;建议用户设置,语音场景可能因为超时,丢失answer信息,通过请求query指定queryId,方便问题排查

          POST body参数说明

          参数名 类型 必选 说明
          queryText String 请求文本
          sessionId String 会话id。
          可不传值,由会话机器人生成;
          若传值,使用业务方传入的sessionId,用户传入的sessionId必须保证唯一,如UUID.
          sources List 对话模式:
          1. task_based:多轮
          2. kg:知识图谱
          3. faq:问答
          4. 空或无该字段为智能对话
          channel String 渠道信息,整个session周期固定
          context Map 上下文信息。与当前的会话session中的上下文进行合并,若存在key冲突,以传入的key为准
          collect Boolean 是否收集会话数据,用于用户标注。默认为false
          vad String 系统指令:
          silent:静默
          interrupt:打断
          ext Map 调用方回传参数,格式为json,数据不做处理用来后期分析使用; 示例:调用会话时传入{ "uid",001 } 会话日志中ext将会存储该信息用于后期分析。

          返回参数说明

          参数名 类型 说明
          code int 错误码
          msg String 错误信息
          data Map<String, Object> 返回答案的详细信息

          data:

          参数名 类型 说明
          sessionId String 会话id
          queryId String 请求id
          source String 会话模式(faq,task_based,chitchat,clarify,none,system)
          solved Boolean 指定会话模式是否有答案.(多轮会话中,命中顶层节点且节点条件为anything_else,solved为false)
          confidence Double 相似度
          nlu Map 当前query的nlu识别信息
          answer Map 回复答案
          queryTime String 请求时间,格式:yyyy-MM-dd HH:mm:ss:SSS
          responseTime String 响应时间,格式:yyyy-MM-dd HH:mm:ss:SS
          context Map 会话上下文信息
          associateData Map 随路数据收集
          actions List 透传的指令
          webhook Boolean 是否使用webhook
          debug Map 调试信息(开启debug模式后才会有值)
          exlpain Map 详细调试信息(开启explain模式后才会有值)

          nlu:

          参数名 类型 说明
          intents List 识别的意图列表(格式同:debug → intents)
          entities Map 识别的实体列表(格式同:debug → entities)
          attitude Map 态度详情(格式同:debug → attitude)
          sentiment Map 情感详情(格式同:debug → sentiment)

          answer:

          参数名 类型 说明
          clarify Map 澄清答案
          clarifyType String 意图faq澄清:INTENT_FAQ_CLARIFY
          实体澄清:ENTITY_CLARIFY
          模版澄清:TEMPLATE_ONE_CLARIFY / TEMPLATE_MULTI_CLARIFY
          faq高置信度澄清:FAQ_HIGH_CLARIFY
          kg澄清:KG_CLARIFY
          answerContents List 答案列表,元素类型有:1: 纯文本类型,2: link类型,3: 富文本类型,4: 图片类型,6: 录音类型,7: 录音拼变量类型,8: 列表类型
          answerText String 根据answerContents列表拼接的文本推荐答案)
          recommendContents List 推荐答案列表,元素类型:8: 列表类型

          clarify:

          参数名 类型 说明
          voice Map 语音回复
          text Map 文字回复

          voice:

          参数名 类型 说明
          content String 澄清语句

          text:

          参数名 类型 说明
          title String 澄清标题
          list List 澄清问题列表

          answerContents:

          type: 1,纯文本类型

          参数名 类型 说明
          type int 回复内容类型 1:纯文本
          text String 回复内容

          type: 2,link类型

          参数名 类型 说明
          type int 回复内容类型 2:link
          text String 回复内容
          url String url

          type: 3,富文本类型

          参数名 类型 说明
          type int 回复内容类型 3:富文本
          text String 富文本回复内容

          type: 4,图片类型

          参数名 类型 说明
          type int 回复内容类型 4:图片
          url String 图片url

          type: 6,录音类型

          参数名 类型 说明
          type int 回复内容类型 6:录音
          audio Map 录音内容

          audio:

          参数名 类型 说明
          duration int 录音时长
          name String 录音文件名称
          id String 录音文件id
          text String 录音内容文本
          url String 录音url
          textModify String 修改后的录音内容

          type: 7,录音拼变量

          参数名 类型 说明
          type int 回复内容类型 7:录音拼变量
          values List 回复内容列表,列表中元素由类型6与类型1组成,即录音类型与文本类型组成

          type: 8,列表类型

          参数名 类型 说明
          type int 回复内容类型 8:列表类型
          title String 回复标题
          list List< String> 回复列表

          debug:

          参数名 类型 说明
          botId String 会话bot的id
          queryId String 请求id
          nlu Map nlu分享当前query的详细结果
          detail Map debug信息详情

          nlu:

          参数名 类型 说明
          rawQuery String 原始query
          nluQuery String nlu识别的query
          intents List 识别的意图列表
          clarifyIntents List 识别的澄清意图
          clarifyTemplates List 识别的澄清模版意图
          entities Map 识别的实体列表
          clarifyEntities Map 识别的实体澄清列表
          attitude Map 态度详情
          sentiment Map 情感详情

          intents/clarifyIntents/clarifyTemplates:

          参数名 类型 说明
          id String 意图id
          name String 意图标识
          nameZh String 意图中文名称
          description String 意图描述
          system String 是否系统意图
          source String 算法名称
          alias String 意图别名
          templateStr String 模版字符串

          attitude:

          参数名 类型 说明
          prob String 置信度
          source String 识别模型
          name String 态度标识
          nameZh String 态度中文名

          sentiment:

          参数名 类型 说明
          prob String 置信度
          source String 识别模型
          name String 情感标识
          nameZh String 情感中文名

          detail:

          多轮 task_based:

          参数名 类型 说明
          dialogs List 触发会话树节点详情
          confidence Double 置信度
          nlu Map 答案对应的nlu结果(结构同 debug-->nlu)
          lastNodeId String 最近一次触发的会话树节点id

          dialogs:

          参数名 类型 说明
          dialogNodeId String 会话树节点id
          dialogNodeName String 会话树节点名
          processId String 流程片段id
          processName String 流程片段名
          outputIndex int 执行模块下标
          values List 当前会话树节点回复内容的格式配置
          jumpBackValues String 外呼当前会话树节点跳回话术格式配置(字段格式和values⼀致)
          webhook Boolean 是否使用webhook
          action String 指令
          webhookInfo Map webhook接口调用结果

          知识图谱 kg:

          参数名 类型 说明
          nlpSessionId String KG_DM的会话id
          confidence Double 置信度
          type String 答案类型。
          SATISFY("satisfy", "答上来了")
          CLARIFY("clarify", "需要澄清")
          FAILURE("failure", "没答上来")
          sayText String 答案话术
          kgPatternType String 句式类型
          kgClassName String 类目名称
          kgPropertyName String 属性名称
          kgPropertyArray String 属性名称多值
          kgModQueryText String 改写后的Query
          kgQueryPattern String 句式pattern
          values List 回复内容(格式与answer → answerContents格式一致)

          问答 faq:

          参数名 类型 说明
          id String 标准问ID
          standardQuestion String 标准问问题
          confidence double 相似度
          extendQuestion String 扩展问问题
          suggest List< String> 关联问题列表
          answer Map 答案详情

          answer 答案详情

          参数名 类型 说明
          type int 答案类别:
          1:纯文本
          3:富文本(html tag)
          4:pic url link
          6:audio
          text String type为1或3时使用,回复内容
          url String type为4时使用,图片url
          audio Map type为6时使用,录音回复内容,(格式与suggestionAnswers → answerValues中的录音类型格式一致)

          闲聊 chitchat:

          参数名 类型 说明
          id String 标准问ID
          standardQuestion String 标准问问题
          extendQuestion String 扩展问问题
          confidence double 相似度
          answer Map 答案详情

          answer 答案详情:

          参数名 类型 说明
          type int 答案类别 1:纯文本
          text String 回复内容

          自动填充 auto_fill:

          参数名 类型 说明
          entityAutoFill Map 复合实体自动填充

          entityAutoFill:

          参数名 类型 说明
          entityAutoFillVo Map 复合实体自动填充
          entityAutoFillName String 自动填充实体
          fillText String 自动填充文本

          entityAutoFillVo:

          参数名 类型 说明
          entity Map 复合实体自动填充
          entityFillType int 实体填充类型
          propertyVoMap Map 属性详情列表
          propertyNames List 属性名称列表
          currentFillVo Map 当前填充话术

          entity:

          参数名 类型 说明
          entityId String 实体id
          entryId String 实体值id
          value String 实体值
          original String 实体原始值
          name String 实体名称
          nameZh String 实体中文名称
          subName String 实体子名称
          offset int 偏移量
          system Boolean 是否系统实体
          display String 实体显示值
          type int 实体类型
          combineValue String 复合实体组合值
          extra Map 扩展属性

          currentFillVo:

          参数名 类型 说明
          propertyName String 属性名称
          fillText String 填充话术

          澄清 clarify:

          参数名 类型 说明
          clarifyType String 澄清类型
          clarifyQuestions Map 澄清
          entityClarify Map 实体澄清
          keywordConfirmQuestions List 模版澄清
          highConfirmQuestions List 高置信度澄清

          keywordConfirmQuestions/highConfirmQuestions:

          参数名 类型 说明
          sore String 分值
          clickable Map 是否可点击
          source Map 来源
          question List 澄清内容

          系统 system:

          参数名 类型 说明
          name String 策略名称
          index int 策略序号
          count int 当前计数次数
          reply Map 策略配置

          reply 策略配置

          参数名 类型 说明
          count int 当前计数次数
          symbol String 策略符号,例如:>,<等
          isWebhook boolean 是否启用webhook
          action String 指令
          type int 返回答案类型
          text String 文本返回答案内容,type为1时使用
          audio Map 录音返回答案内容,type为6时使用,格式同:faq-→ answer→ audio

          请求示例

          curl -X POST 'https://api-ngd.baidu.com/core/v3/query?debug=true&nlu=true' 
          -H 'Authorization:NGD 4f7f3cb9-4d1b-42e3-b03e-19771d8e7b07' 
          -H 'Content-Type: application/json' 
          -d '{"queryText":"租车","sessionId":"5cb6e7b8-e3da-45bb-ac07-98265ac54a01"}'

          响应结果示例

          任务式会话

          {
              "time": 1586486514896,
              "data": {
                  "sessionId": "11c8cddd-3d0c-493e-a33f-9a02ae5f99e5",
                  "source": "task_based",
                  "solved": true,
                  "confidence": 1,
                  "nlu": {
                      "sentiment": {
                          "query": "租车",
                          "label": 0,
                          "prob": 0.97234964,
                          "source": "model",
                          "name": "neutral",
                          "nameZh": "中立"
                      },
                      "intents": [
                          {
                              "id": "e5304670-6841-40f6-ba49-11bbca32c6a8",
                              "name": "rental",
                              "description": "",
                              "agentId": null,
                              "created": null,
                              "updated": null,
                              "confidence": 1,
                              "source": "knn",
                              "threshold": 0,
                              "system": false,
                              "alias": "",
                              "nameZh": "租车",
                              "examples": null,
                              "hasActiveCopy": false,
                              "templateStr": null,
                              "createdUserName": null,
                              "createdUserId": null,
                              "lastEditUserName": null,
                              "lastEditUserId": null,
                              "version": 0,
                              "industryIntent": false
                          }
                      ],
                      "entities": {},
                      "attitude": {
                          "query": "租车",
                          "label": 0,
                          "prob": 1,
                          "source": "model",
                          "name": "unknown",
                          "nameZh": "无态度"
                      }
                  },
                  "answer": {
                      "answerText": "指令级别的兜底话术请输入车型",
                      "answerContents": [
                          {
                              "original": "指令级别的兜底话术",
                              "text": "指令级别的兜底话术",
                              "type": 1
                          },
                          {
                              "type": 1,
                              "text": "请输入车型",
                              "original": "请输入车型"
                          }
                      ]
                  },
                  "context": {
                      "sys_counter": {
                          "租车": 1,
                          "检查车型实体节点_qwpg1bhv": 1
                      },
                      "api_response_status": false,
                      "sys_webhook_eval_success": false
                  },
                  "associateData": {},
                  "actions": [
                      "aciton"
                  ],
                  "webhook": true,
                  "debug": {
                      "responseTime": "2020-04-10 10:41:54:896",
                      "nlu": {
                          "clarifyEntities": {},
                          "sentiment": {
                              "query": "租车",
                              "label": 0,
                              "prob": 0.97234964,
                              "source": "model",
                              "name": "neutral",
                              "nameZh": "中立"
                          },
                          "intents": [
                              {
                                  "id": "e5304670-6841-40f6-ba49-11bbca32c6a8",
                                  "name": "rental",
                                  "description": "",
                                  "agentId": null,
                                  "created": null,
                                  "updated": null,
                                  "confidence": 1,
                                  "source": "knn",
                                  "threshold": 0,
                                  "system": false,
                                  "alias": "",
                                  "nameZh": "租车",
                                  "examples": null,
                                  "hasActiveCopy": false,
                                  "templateStr": null,
                                  "createdUserName": null,
                                  "createdUserId": null,
                                  "lastEditUserName": null,
                                  "lastEditUserId": null,
                                  "version": 0,
                                  "industryIntent": false
                              }
                          ],
                          "nluQuery": "租车",
                          "entities": {},
                          "clarifyIntents": [],
                          "clarifyTemplates": [],
                          "attitude": {
                              "query": "租车",
                              "label": 0,
                              "prob": 1,
                              "source": "model",
                              "name": "unknown",
                              "nameZh": "无态度"
                          },
                          "rawQuery": "租车"
                      },
                      "queryTime": "2020-04-10 10:41:49:860",
                      "botId": "b4762b99-d0df-4d51-bb70-38000b5b3f79",
                      "detail": {
                          "chitchat": {
                              "standardQuestion": "租车",
                              "extentQuestion": null,
                              "answer": {
                                  "type": 1,
                                  "text": "呼啦啦"
                              },
                              "confidence": 1,
                              "id": "ce651ce4-ed7f-48d3-a6c5-e10647d7911e"
                          },
                          "faq": {
                              "standardQuestion": "我要租车",
                              "extentQuestion": null,
                              "answer": {
                                  "original": "好的哦",
                                  "text": "好的哦",
                                  "type": 1
                              },
                              "confidence": 1,
                              "id": "dd911099-ce9c-4d38-ae67-bffe851b237a",
                              "suggest": []
                          },
                          "task_based": {
                              "nlu": {
                                  "clarifyEntities": {},
                                  "sentiment": {
                                      "query": "租车",
                                      "label": 0,
                                      "prob": 0.97234964,
                                      "source": "model",
                                      "name": "neutral",
                                      "nameZh": "中立"
                                  },
                                  "intents": {
                                      "id": "e5304670-6841-40f6-ba49-11bbca32c6a8",
                                      "name": "rental",
                                      "description": "",
                                      "agentId": null,
                                      "created": null,
                                      "updated": null,
                                      "confidence": 1,
                                      "source": "knn",
                                      "threshold": 0,
                                      "system": false,
                                      "alias": "",
                                      "nameZh": "租车",
                                      "examples": null,
                                      "hasActiveCopy": false,
                                      "templateStr": null,
                                      "createdUserName": null,
                                      "createdUserId": null,
                                      "lastEditUserName": null,
                                      "lastEditUserId": null,
                                      "version": 0,
                                      "industryIntent": false
                                  },
                                  "nluQuery": "租车",
                                  "entities": {},
                                  "clarifyIntents": [],
                                  "clarifyTemplates": [],
                                  "source": "knn",
                                  "attitude": {
                                      "query": "租车",
                                      "label": 0,
                                      "prob": 1,
                                      "source": "model",
                                      "name": "unknown",
                                      "nameZh": "无态度"
                                  },
                                  "rawQuery": "租车"
                              },
                              "confidence": 1,
                              "lastNodeId": "",
                              "dialogs": [
                                  {
                                      "dialogNodeName": "租车",
                                      "webhook": true,
                                      "values": {
                                          "original": "指令级别的兜底话术",
                                          "text": "指令级别的兜底话术",
                                          "type": 1
                                      },
                                      "description": null,
                                      "dialogNodeId": "3d2cdfb3-9158-4980-b78d-bb77586b1937",
                                      "processVersion": 4,
                                      "isBackTrack": false,
                                      "endNode": false,
                                      "outputIndex": 1,
                                      "processId": "b229f5ec-5fe8-4401-8df3-9d329a69c329",
                                      "processName": "fanlh",
                                      "action": "aciton",
                                      "processType": 0,
                                      "isResult": false,
                                      "value": "指令级别的兜底话术"
                                  },
                                  {
                                      "dialogNodeName": "检查车型实体节点_qwpg1bhv",
                                      "webhook": false,
                                      "values": {
                                          "type": 1,
                                          "text": "请输入车型",
                                          "original": "请输入车型"
                                      },
                                      "description": "检查车型实体节点",
                                      "dialogNodeId": "b017e30c-3550-4fce-be32-f09d84d1dce1",
                                      "processVersion": 4,
                                      "isBackTrack": false,
                                      "endNode": false,
                                      "outputIndex": 1,
                                      "processId": "b229f5ec-5fe8-4401-8df3-9d329a69c329",
                                      "processName": "fanlh",
                                      "processType": 0,
                                      "isResult": false,
                                      "value": "请输入车型"
                                  }
                              ]
                          }
                      },
                      "queryId": "05903c5c-54b6-4565-8a27-c6d19fce01b2"
                  },
              "code": 200,
              "msg": "OK",
              "explain": null
          }

          Faq:

          {
              "time": 1586499361098,
              "data": {
                  "sessionId": "11c8cddd-3d0c-493e-a33f-9a02ae5f99e5",
                  "source": "faq",
                  "solved": true,
                  "confidence": 1,
                  "nlu": {
                      "sentiment": {
                          "query": "问答吗",
                          "label": 0,
                          "prob": 0.9999976,
                          "source": "model",
                          "name": "neutral",
                          "nameZh": "中立"
                      },
                      "intents": [],
                      "entities": {},
                      "attitude": {
                          "query": "问答吗",
                          "label": 0,
                          "prob": 0.9965682,
                          "source": "model",
                          "name": "unknown",
                          "nameZh": "无态度"
                      }
                  },
                  "answer": {
                      "answerText": "是的 这里是问答",
                      "answerContents": [
                          {
                              "original": "是的 这里是问答",
                              "text": "是的 这里是问答",
                              "type": 1
                          }
                      ]
                  },
                  "context": {},
                  "webhook": false,
                  "debug": {
                      "responseTime": "2020-04-10 14:16:01:098",
                      "nlu": {
                          "clarifyEntities": {},
                          "sentiment": {
                              "query": "问答吗",
                              "label": 0,
                              "prob": 0.9999976,
                              "source": "model",
                              "name": "neutral",
                              "nameZh": "中立"
                          },
                          "intents": [],
                          "nluQuery": "问答吗",
                          "entities": {},
                          "clarifyIntents": [],
                          "clarifyTemplates": [],
                          "attitude": {
                              "query": "问答吗",
                              "label": 0,
                              "prob": 0.9965682,
                              "source": "model",
                              "name": "unknown",
                              "nameZh": "无态度"
                          },
                          "rawQuery": "问答吗"
                      },
                      "queryTime": "2020-04-10 14:15:58:132",
                      "botId": "b4762b99-d0df-4d51-bb70-38000b5b3f79",
                      "detail": {
                          "faq": {
                              "standardQuestion": "这里是问答吗?",
                              "extentQuestion": "问答吗?",
                              "answer": {
                                  "original": "是的 这里是问答",
                                  "text": "是的 这里是问答",
                                  "type": 1
                              },
                              "confidence": 1,
                              "id": "12837cac-215b-4d41-81cb-16636ab5a21d",
                              "suggest": []
                          },
                          "task_based": {
                              "nlu": {
                                  "clarifyEntities": {},
                                  "sentiment": {
                                      "query": "问答吗",
                                      "label": 0,
                                      "prob": 0.9999976,
                                      "source": "model",
                                      "name": "neutral",
                                      "nameZh": "中立"
                                  },
                                  "intents": null,
                                  "nluQuery": "问答吗",
                                  "entities": {},
                                  "clarifyIntents": [],
                                  "clarifyTemplates": [],
                                  "source": "knn",
                                  "attitude": {
                                      "query": "问答吗",
                                      "label": 0,
                                      "prob": 0.9965682,
                                      "source": "model",
                                      "name": "unknown",
                                      "nameZh": "无态度"
                                  },
                                  "rawQuery": "问答吗"
                              },
                              "confidence": 1,
                              "lastNodeId": "",
                              "dialogs": null
                          }
                      },
                      "queryId": "49d7f755-7c92-4489-be9c-42924ca25083"
                  }
              },
              "code": 200,
              "msg": "OK",
              "explain": null
          }

          澄清:

          {
              "time": 1586489186285,
              "data": {
                  "sessionId": "11c8cddd-3d0c-493e-a33f-9a02ae5f99e5",
                  "source": "clarify",
                  "solved": true,
                  "confidence": 0,
                  "nlu": {
                      "sentiment": {
                          "query": "型车",
                          "label": 0,
                          "prob": 0.6649062,
                          "source": "model",
                          "name": "neutral",
                          "nameZh": "中立"
                      },
                      "intents": [],
                      "entities": {},
                      "attitude": {
                          "query": "型车",
                          "label": 0,
                          "prob": 1,
                          "source": "model",
                          "name": "unknown",
                          "nameZh": "无态度"
                      }
                  },
                  "answer": {
                      "clarify": {
                          "voice": {
                              "questions": [
                                  "请问您想问的是帮我租个车吗?"
                              ],
                              "content": "请问您想问的是帮我租个车吗?"
                          },
                          "text": {
                              "questions": [
                                  "帮我租个车"
                              ],
                              "title": "请问您想咨询的是?"
                          }
                      },
                      "clarifyType": "INTENT_FAQ_CLARIFY"
                  },
                  "debug": {
                      "responseTime": "2020-04-10 11:26:26:285",
                      "nlu": {
                          "clarifyEntities": {},
                          "sentiment": {
                              "query": "型车",
                              "label": 0,
                              "prob": 0.6649062,
                              "source": "model",
                              "name": "neutral",
                              "nameZh": "中立"
                          },
                          "intents": [],
                          "nluQuery": "型车",
                          "entities": {},
                          "clarifyIntents": [],
                          "clarifyTemplates": [],
                          "attitude": {
                              "query": "型车",
                              "label": 0,
                              "prob": 1,
                              "source": "model",
                              "name": "unknown",
                              "nameZh": "无态度"
                          },
                          "rawQuery": "型车"
                      },
                      "queryTime": "2020-04-10 11:26:11:900",
                      "botId": "b4762b99-d0df-4d51-bb70-38000b5b3f79",
                      "detail": {
                          "task_based": {
                              "nlu": {
                                  "clarifyEntities": {},
                                  "sentiment": {
                                      "query": "型车",
                                      "label": 0,
                                      "prob": 0.6649062,
                                      "source": "model",
                                      "name": "neutral",
                                      "nameZh": "中立"
                                  },
                                  "intents": null,
                                  "nluQuery": "型车",
                                  "entities": {},
                                  "clarifyIntents": [],
                                  "clarifyTemplates": [],
                                  "source": "knn",
                                  "attitude": {
                                      "query": "型车",
                                      "label": 0,
                                      "prob": 1,
                                      "source": "model",
                                      "name": "unknown",
                                      "nameZh": "无态度"
                                  },
                                  "rawQuery": "型车"
                              },
                              "confidence": 1,
                              "lastNodeId": "",
                              "dialogs": null
                          }
                      },
                      "queryId": "764dada5-a00c-40b9-8066-8cfce1a12488"
                  }
              },
              "code": 200,
              "msg": "OK",
              "explain": null
          }

          闲聊:

          {
              "time": 1586502732524,
              "data": {
                  "sessionId": "11c8cddd-3d0c-493e-a33f-9a02ae5f99e5",
                  "source": "chitchat",
                  "solved": true,
                  "confidence": 1,
                  "nlu": {
                      "sentiment": {
                          "query": "闲聊吗",
                          "label": 0,
                          "prob": 0.9999223,
                          "source": "model",
                          "name": "neutral",
                          "nameZh": "中立"
                      },
                      "intents": [],
                      "entities": {},
                      "attitude": {
                          "query": "闲聊吗",
                          "label": 0,
                          "prob": 0.9947141,
                          "source": "model",
                          "name": "unknown",
                          "nameZh": "无态度"
                      }
                  },
                  "answer": {
                      "answerText": "这是闲聊",
                      "answerContents": [
                          {
                              "type": 1,
                              "text": "这是闲聊"
                          }
                      ]
                  },
                  "debug": {
                      "responseTime": "2020-04-10 15:12:12:524",
                      "nlu": {
                          "clarifyEntities": {},
                          "sentiment": {
                              "query": "闲聊吗",
                              "label": 0,
                              "prob": 0.9999223,
                              "source": "model",
                              "name": "neutral",
                              "nameZh": "中立"
                          },
                          "intents": [],
                          "nluQuery": "闲聊吗",
                          "entities": {},
                          "clarifyIntents": [],
                          "clarifyTemplates": [],
                          "attitude": {
                              "query": "闲聊吗",
                              "label": 0,
                              "prob": 0.9947141,
                              "source": "model",
                              "name": "unknown",
                              "nameZh": "无态度"
                          },
                          "rawQuery": "闲聊吗"
                      },
                      "queryTime": "2020-04-10 15:12:09:114",
                      "botId": "b4762b99-d0df-4d51-bb70-38000b5b3f79",
                      "detail": {
                          "chitchat": {
                              "standardQuestion": "闲聊吗",
                              "extentQuestion": null,
                              "answer": {
                                  "type": 1,
                                  "text": "这是闲聊"
                              },
                              "confidence": 1,
                              "id": "0ea8b370-f0b4-44fe-a0b7-bf25ffa20365"
                          },
                          "task_based": {
                              "nlu": {
                                  "clarifyEntities": {},
                                  "sentiment": {
                                      "query": "闲聊吗",
                                      "label": 0,
                                      "prob": 0.9999223,
                                      "source": "model",
                                      "name": "neutral",
                                      "nameZh": "中立"
                                  },
                                  "intents": null,
                                  "nluQuery": "闲聊吗",
                                  "entities": {},
                                  "clarifyIntents": [],
                                  "clarifyTemplates": [],
                                  "source": "knn",
                                  "attitude": {
                                      "query": "闲聊吗",
                                      "label": 0,
                                      "prob": 0.9947141,
                                      "source": "model",
                                      "name": "unknown",
                                      "nameZh": "无态度"
                                  },
                                  "rawQuery": "闲聊吗"
                              },
                              "confidence": 1,
                              "lastNodeId": "",
                              "dialogs": null
                          }
                      },
                      "queryId": "cb204ea7-f6ec-4a3a-a72f-9cf58647485f"
                  }
              },
              "code": 200,
              "msg": "OK",
              "explain": null
          }

          系统设置:

          {
              "suggestAnswer": "这是静默哦",
              "appendAnswers": null,
              "source": "system",
              "solved": true,
              "confidence": 0,
              "confirmQuestions": [],
              "queryId": "7998495f-fa4b-4404-ac52-2777b39c2465",
              "queryTime": "2020-04-10 15:22:31:634",
              "answerTime": "2020-04-10 15:22:31:690",
              "sessionId": "a67ec476-e733-49b8-8830-8084c0a62dfa",
              "answer": {
                  "name": "silent",
                  "count": 1,
                  "index": 1,
                  "reply": {
                      "symbol": "=",
                      "count": 1,
                      "type": 1,
                      "text": "这是静默哦",
                      "isWebhook": false,
                      "action": ""
                  }
              },
              "context": null,
              "botName": "fanlh",
              "botDesc": null,
              "botPublishVersion": 0,
              "agentType": 1,
              "webhook": null
          }

          未匹配回复:

          {
              "time": 1586502848126,
              "data": {
                  "sessionId": "11c8cddd-3d0c-493e-a33f-9a02ae5f99e5",
                  "source": "none",
                  "solved": false,
                  "confidence": 0,
                  "nlu": {
                      "sentiment": {
                          "query": "未匹配",
                          "label": 0,
                          "prob": 0.9995192,
                          "source": "model",
                          "name": "neutral",
                          "nameZh": "中立"
                      },
                      "intents": [],
                      "entities": {},
                      "attitude": {
                          "query": "未匹配",
                          "label": 0,
                          "prob": 1,
                          "source": "model",
                          "name": "unknown",
                          "nameZh": "无态度"
                      }
                  },
                  "answer": {
                      "answerText": "抱歉,我不太理解您的意思",
                      "answerContents": []
                  },
                  "debug": {
                      "responseTime": "2020-04-10 15:14:08:126",
                      "nlu": {
                          "clarifyEntities": {},
                          "sentiment": {
                              "query": "未匹配",
                              "label": 0,
                              "prob": 0.9995192,
                              "source": "model",
                              "name": "neutral",
                              "nameZh": "中立"
                          },
                          "intents": [],
                          "nluQuery": "未匹配",
                          "entities": {},
                          "clarifyIntents": [],
                          "clarifyTemplates": [],
                          "attitude": {
                              "query": "未匹配",
                              "label": 0,
                              "prob": 1,
                              "source": "model",
                              "name": "unknown",
                              "nameZh": "无态度"
                          },
                          "rawQuery": "未匹配"
                      },
                      "queryTime": "2020-04-10 15:14:05:067",
                      "botId": "b4762b99-d0df-4d51-bb70-38000b5b3f79",
                      "detail": {
                          "task_based": {
                              "nlu": {
                                  "clarifyEntities": {},
                                  "sentiment": {
                                      "query": "未匹配",
                                      "label": 0,
                                      "prob": 0.9995192,
                                      "source": "model",
                                      "name": "neutral",
                                      "nameZh": "中立"
                                  },
                                  "intents": null,
                                  "nluQuery": "未匹配",
                                  "entities": {},
                                  "clarifyIntents": [],
                                  "clarifyTemplates": [],
                                  "source": "knn",
                                  "attitude": {
                                      "query": "未匹配",
                                      "label": 0,
                                      "prob": 1,
                                      "source": "model",
                                      "name": "unknown",
                                      "nameZh": "无态度"
                                  },
                                  "rawQuery": "未匹配"
                              },
                              "confidence": 1,
                              "lastNodeId": "",
                              "dialogs": null
                          }
                      },
                      "queryId": "78697a2d-0ec6-458d-8fd1-721c261d9234"
                  }
              },
              "code": 200,
              "msg": "OK",
          }

          /api/v2/core/query

          接口说明

          1. 答案解析,按不同的source解析答案对应字段里的回复类型:

            • source=task_based 按序挨个解析拼接answer:dialogs节点列表里对应的不同values
            • source=faq 解析answer:answer
            • source=chitchat 解析answer:answer
            • source=clarify 解析clarifyQuestions:voice:content
            • source=system 解析answer:reply
            • source=none 解析suggestAnswer
          2. 呼出/外呼类型agent对接:

            • 会话开始时发起一次queryText为空的core/query接口请求,接口返回开场白节点欢迎语。
            • 如果上层所有话术使用TTS播放,只需关注: suggestAnswer, 若suggestAnswer为空,则检查clarifyQuestions
            • 否则参照第一点进行答案解析
            • 若appendAnswers存在值,也需要在答案最后按照对应的方式解析拼接
          3. 会话中控接口对敏感词有做校验逻辑,若识别到敏感词,接口请求状态为400,接口返回结果如下:
          参数名 类型 value 说明
          code int 4002010 错误码
          4000019 用户请求过于频繁,请稍后再试 qps大于阀值
          4000647 当前agent不存在可用的会话引擎 无可用会话引擎
          4002409 bot token错误 非法bot token
          4002413 该bot已停用,请启用后再试 bot已停用
          4002010 包含敏感词,请检查 敏感词
          4001104 webhook接口返回答案类型不合法 webhook服务错误
          4000319 对话树配置的跳转存在死循环 对话树配置错误
          4000346 会话引导异常,没有可以回退的场景,请检查开场白片段弱引导配置 引导配置错误

          接口地址

          https://api-ngd.baidu.com/api/v2/core/query

          请求方法

          POST

          请求参数说明

          参数名 类型 必选 说明
          queryId String 请求id,用于出现问题时快速定位排查,不传则系统生成uuid;建议用户设置,语音场景可能因为超时,丢失answer信息,通过请求query指定queryId,方便问题排查

          POST body参数说明

          参数名 类型 必选 说明
          sessionId String 会话id。
          可不传值,由会话机器人生成;
          若传值,使用业务方传入的sessionId,用户传入的sessionId必须保证唯一,如UUID.
          queryText String 请求文本
          context Map 上下文信息。与当前的会话session中的上下文进行合并,若存在key冲突,以传入的key为准
          sources List 对话模式:
          1. task_based:多轮
          2. kg:知识图谱
          3. faq:问答
          4. 空或无该字段为智能对话
          collectConversation Boolean 是否收集会话数据,用于标注
          channel String 渠道信息,整个session周期固定
          ext Map 调用方回传参数,格式为json,数据不做处理用来后期分析使用;
          示例:调用会话时传入{ "uid",123 } 会话日志中ext将会存储该信息, 用于后期分析, 兼容5.1版本静默、挂机、打断配置
          vad String silent:静默
          interrupt:打断

          返回参数说明

          参数名 类型 说明
          code int 错误码
          msg String 错误信息
          data Map<String, Object> 返回答案的详细信息

          data

          参数名 类型 说明
          suggestAnswer String 回复文本
          appendAnswers List 外呼拼接话术
          source String 会话模式(faq,task_based,chitchat,clarify,auto_fill,system,none);
          当source为clarify时,suggessAnswer及answer字段的值为空,回复内容取clarifyQuestions字段的值.
          其余source对应答案的详细信息见下文
          solved Boolean 指定会话模式是否有答案.(多轮会话中,命中顶层节点且节点条件为anything_else,solved为false)
          confidence Double 相似度
          clarifyQuestions Map 问题澄清,suggestAnswer存在时,该字段一定不存在
          clarifyType String 澄清类型
          queryId String 请求id
          queryTime String 请求时间,格式:yyyy-MM-dd HH:mm:ss:SSS
          answerTime String 响应时间,格式:yyyy-MM-dd HH:mm:ss:SS
          sessionId String 会话id,使用uuid
          actions List 透传的指令
          answer Map 详细的回复信息
          context Map 会话上下文信息和answer里context一致
          botName String bot名称
          webhook Boolean 是否使用webhook

          appendAnswers:

          参数名 类型 说明
          type int 回复类型:
          1:文本
          6:语音
          7:录音拼变量
          (更多type详见answer:dialogs:values参数描述)
          text/audio/values String/Map/List 外呼类型机器人跳回话术回复内容

          clarifyQuestions:

          参数名 类型 说明
          voice Map 语音回复
          text Map 文字回复

          voice:

          参数名 类型 说明
          content String 澄清语句

          text:

          参数名 类型 说明
          questions List 问题
          title String 标题

          answer:

          source为task_based:

          参数名 类型 说明
          dialogs List 触发会话树节点详情
          context Map 会话上下文信息,(兼容旧版本,保留)
          collectInfo Map 外呼信息收集
          intent String 意图名称
          intentMap Map 意图详情
          entity Map 实体详情
          lastNodeId String 最近一次触发的会话树节点id
          lastEnterTopNodeName String 上个场景名
          enterTopNodeIndex int 进入场景次数
          enterTopNodeName String 场景名

          dialogs:

          参数名 类型 说明
          dialogNodeId String 会话树节点id
          dialogNodeName String 会话树节点名
          processId String 流程片段id
          processName String 流程片段名
          value String 当前会话节点回复内容
          values Map 当前会话节点回复内容格式配置
          jumpBackValue String 外呼当前会话节点跳回话术
          jumpBackValues Map 外呼当前会话节点跳回话术格式配置(字段格式和values⼀致)
          webhook Boolean 是否使用webhook
          action String 指令
          outputIndex int 执行模块下标

          values 会话节点回复内容详情:

          type: 1,纯文本类型

          参数名 类型 说明
          type int 回复内容类型 1:纯文本
          text String 回复内容

          type: 2,link类型

          参数名 类型 说明
          type int 回复内容类型 2:link
          text String 回复内容
          url String url

          type: 3,富文本类型

          参数名 类型 说明
          type int 回复内容类型 3:富文本
          text String 富文本回复内容

          type: 4,图片类型

          参数名 类型 说明
          type int 回复内容类型 4:图片
          url String 图片url

          type: 6,录音类型

          参数名 类型 说明
          type int 回复内容类型 6:录音
          audio Map 录音内容

          audio:

          参数名 类型 说明
          duration int 录音时长
          name String 录音文件名称
          id String 录音文件id
          text String 录音内容文本
          url String 录音url
          textModify String 修改后的录音内容

          type: 7,录音拼变量

          参数名 类型 说明
          type int 回复内容类型 7:录音拼变量
          values List 回复内容列表, 列表中元素由类型6与类型1组成,即录音类型与文本类型组成

          type: 8,列表类型

          参数名 类型 说明
          type int 回复内容类型 8:列表类型
          title String 回复标题
          list List< String> 回复列表

          answer:

          source 为 faq:

          参数名 类型 说明
          standardQuestion String 标准问问题
          extendQuestion String 扩展问问题
          id String 标准问ID
          suggest List< String> 关联问题列表
          confidence double 相似度
          answer Map 答案详情

          answer 答案详情:

          参数名 类型 说明
          type int 答案类别:
          1:纯文本
          3:富文本(html tag)
          4:pic url link
          6:audio
          text String type为1或3时使用,回复内容
          url String type为4时使用,图片url
          audio Map type为6时使用,录音回复内容

          audio:

          参数名 类型 说明
          duration int 录音时长
          name String 录音文件名称
          id String 录音文件id
          text String 录音内容文本
          url String 录音url
          textModify String 修改后的录音内容

          source 为 chitchat:

          参数名 类型 说明
          id String 标准问ID
          standardQuestion String 标准问问题
          extendQuestion String 扩展问问题
          confidence double 相似度
          answer Map 答案详情

          answer 答案详情:

          参数名 类型 说明
          type int 答案类别 1:纯文本
          text String 回复内容

          source 为 auto_fill(复合实体):

          参数名 类型 说明
          entityAutoFill Map 复合实体自动填充

          entityAutoFill:

          参数名 类型 说明
          entityAutoFillVo Map 复合实体自动填充
          entityAutoFillName String 自动填充实体名称
          fillText String 自动填充文本

          entityAutoFillVo:

          参数名 类型 说明
          entity Map 自动填充的复合实体
          entityFillType int 实体填充类型
          propertyNames Map 属性名称列表
          propertyVoMap Map 属性详情列表
          currentFillVo Map 当前填充话术

          entity:

          参数名 类型 说明
          entityId String 实体id
          entryId String 实体值id
          value String 实体值
          original String 实体原始值
          name String 实体名称
          nameZh String 实体中文名称
          subName String 实体子名称
          offset int 偏移量
          system Boolean 是否为系统实体
          display String 实体特殊显示值
          type int 实体类型
          extra Map 扩展属性
          combineValue String 复合实体组合值

          currentFillVo:

          参数名 类型 说明
          propertyName String 属性名称
          fillText String 填充话术

          source 为 system(系统指令:静默、打断、挂机、停用):

          参数名 类型 说明
          name String 策略名称
          index int 策略序号
          count int 当前计数次数
          reply Map 策略配置

          reply 策略配置:

          参数名 类型 说明
          count int 当前计数次数
          symbol String 策略符号,例如:>,<等
          isWebhook boolean 是否启用webhook
          action String 指令
          type int 答案类别:
          1:纯文本
          3:富文本(html tag)
          4:pic url link
          6:audio
          text String type为1或3时使用,回复内容
          url String type为4时使用,图片url
          audio Map type为6时使用,录音回复内容

          audio:

          参数名 类型 说明
          duration int 录音时长
          name String 录音文件名称
          id String 录音文件id
          text String 录音内容文本
          url String 录音url
          textModify String 修改后的录音内容

          请求示例

          curl -X POST https://api-ngd.baidu.com/api/v2/core/query -H 'Authorization:
          NGD 4f7f3cb9-4d1b-42e3-b03e-19771d8e7b07' -H 'Content-Type: application/json' -d '{"queryText":"","sessionId":"123"}'

          响应结果示例

          任务式会话

          {
              "time": 1574309239335,
              "data": {
                  "suggestAnswer": "请问您要在什么时间租车?[外呼拼接跳回话术]",
                  "appendAnswers": [
                         {
                             "type": 1,
                             "text": "[外呼拼接跳回话术]"
                         }
                     ],
                  "source": "task_based",
                  "solved": true,
                  "confidence": 1,
                  "queryId": "37a4a7a0-16b0-4be2-85da-dea4f86f2454",
                  "queryTime": "2019-11-21 12:07:19:197",
                  "answerTime": "2019-11-21 12:07:19:335",
                  "sessionId": "9385c033-e56f-4d82-9982-4cf4547fc91f",
                  "actions": [],
                  "answer": {
                      "intentMap": {
                          "id": "a7603c96-e007-401c-8891-5f12a2e192c7",
                          "name": "car_rental",
                          "description": "",
                          "agentId": null,
                          "created": null,
                          "updated": null,
                          "confidence": 1,
                          "source": "knn",
                          "threshold": 0,
                          "system": false,
                          "alias": "",
                          "nameZh": "租车意图",
                          "examples": null,
                          "hasActiveCopy": false,
                          "templateStr": null,
                          "createdUserName": null,
                          "createdUserId": null,
                          "lastEditUserName": null,
                          "lastEditUserId": null
                      },
                      "intent":"car_rental",
                      "enterTopNodeName": "租车意图",
                      "lastEnterTopNodeName": null,
                      "context": {
                          "sys_counter": {
                              "check_租车意图_sys_date": 1,
                              "租车意图": 1
                          }
                      },
                      "collectInfo": {},
                      "enterTopNodeIndex": 1,
                      "lastNodeId": null,
                      "intent": "car_rental",
                      "entity": {},
                      "dialogs": [
                          {
                              "dialogNodeName": "租车意图",
                              "webhook": false,
                              "description": null,
                              "dialogNodeId": "f106cbfc-ef9f-40e4-bb2c-8002561a543f",
                              "processVersion": 2,
                              "isBackTrack": false,
                              "endNode": false,
                              "jumpBackValue": null,
                              "outputIndex": 1,
                              "processId": "fb077db8-bcba-4740-b7e3-2ae9eba2ab75",
                              "processName": "租车场景",
                              "action": "",
                              "processType": 0,
                              "isResult": false,
                              "value": null
                          },
                          {
                              "dialogNodeName": "check_租车意图_sys_date",
                              "webhook": false,
                              "description": "检查sys_dateaa",
                              "dialogNodeId": "827db511-3982-4e48-b1ef-d6e89097485d",
                              "processVersion": 2,
                              "isBackTrack": false,
                              "endNode": false,
                              "jumpBackValue": null,
                              "outputIndex": 1,
                              "processId": "fb077db8-bcba-4740-b7e3-2ae9eba2ab75",
                              "processName": "租车场景",
                              "action": "",
                              "processType": 0,
                              "isResult": false,
                              "value": "请问您要在什么时间租车?"
                          }
                      ]
                  },
                  "context": {
                      "sys_counter": {
                          "check_租车意图_sys_date": 1,
                          "租车意图": 1
                      }
                  },
                  "botName": "租车bot",
                  "botDesc": null,
                  "botVersion": 1,
                  "agentType": 1,
                  "webhook": false
              },
              "code": 200,
              "msg": "OK"
          }

          Faq:

          {
              "time": 1574309920227,
              "data": {
                  "suggestAnswer": "是的。",
                  "appendAnswers": null,
                  "source": "faq",
                  "solved": true,
                  "confidence": 1,
                  "queryId": "b01da250-8d68-417b-ad34-73ea81080ef6",
                  "queryTime": "2019-11-21 12:18:40:104",
                  "answerTime": "2019-11-21 12:18:40:227",
                  "sessionId": "1a9a18a1-3b46-4b90-b71a-76e4e5f53ff9",
                  "answer": {
                      "standardQuestion": "这是问答库",
                      "answer": {
                          "text": "是的。",
                          "type": 1
                      },
                      "faq": {
                          "id": "774502fb-b971-41cd-bfdc-f4a2d680a755",
                          "standardQuestion": "这是问答库",
                          "extendQuestion": null,
                          "faqId": "774502fb-b971-41cd-bfdc-f4a2d680a755",
                          "template": null,
                          "answerText": "是的。",
                          "answerType": 1,
                          "answer": {
                              "text": "是的。",
                              "type": 1
                          },
                          "confidence": 1,
                          "suggest": [],
                          "context": {},
                          "isActiveHook": 0,
                          "instruction": "",
                          "confirmSimilarity": 0.6,
                          "minSimilarity": 0.8,
                          "similaritySource": "unit",
                          "channelAnswer": false
                      },
                      "confidence": 1,
                      "id": "774502fb-b971-41cd-bfdc-f4a2d680a755",
                      "extendQuestion": null,
                      "suggest": [],
                      "isChannelAnswer": false
                  },
                  "context": {},
                  "botName": "租车bot",
                  "botDesc": null,
                  "botVersion": 1,
                  "agentType": 1,
                  "webhook": false
              },
              "code": 200,
              "msg": "OK"
          }

          澄清:

          {
            "time": 1581653248305,
            "data": {
              "suggestAnswer": null,
              "appendAnswers": null,
              "source": "clarify",
              "solved": true,
              "confidence": 0,
              "clarifyQuestions": {
                "voice": {
                  "questions": [
                    "请问您想问的是你是谁吗?"
                  ],
                  "content": "请问您想问的是你是谁吗?"
                },
                "text": {
                  "questions": [
                    "你是谁"
                  ],
                  "title": "请问您想咨询的是?"
                }
              },
              "confirmQuestions": [
                {
                  "score": 1,
                  "clickable": true,
                  "source": "faq",
                  "question": "你是谁"
                }
              ],
              "queryId": "3393911b-bc1c-4964-b9f3-dae2efd7c6c2",
              "queryTime": "2020-02-14 12:07:27:866",
              "answerTime": "2020-02-14 12:07:28:305",
              "sessionId": "1c55f8a3-3a74-49ab-b583-415304ecff70",
              "answer": null,
              "context": null,
              "botName": "bot16jj3r",
              "botDesc": null,
              "botPublishVersion": 1,
              "agentType": 3,
              "webhook": null
            },
            "code": 200,
            "msg": "OK"
          }

          闲聊:

          {
              "time": 1574310130987,
              "data": {
                  "suggestAnswer": "在呢在呢",
                  "appendAnswers": null,
                  "source": "chitchat",
                  "solved": true,
                  "confidence": 1,
                  "queryId": "166c859c-6db1-4f46-aad8-4ac4fd19b04a",
                  "queryTime": "2019-11-21 12:22:10:913",
                  "answerTime": "2019-11-21 12:22:10:987",
                  "sessionId": "e718f46a-89d6-4415-b804-c2b14240d679",
                  "answer": {
                      "chitchat": {
                          "id": "e2cb06ca-caca-4cf5-898a-c00ad8261caa",
                          "standardQuestion": "小度小度",
                          "extendQuestion": null,
                          "chitchatId": "e2cb06ca-caca-4cf5-898a-c00ad8261caa",
                          "answerText": "在呢在呢",
                          "confidence": 1
                      },
                      "standardQuestion": "小度小度",
                      "answer": {
                          "type": 1,
                          "text": "在呢在呢"
                      },
                      "confidence": 1,
                      "id": "e2cb06ca-caca-4cf5-898a-c00ad8261caa",
                      "extendQuestion": null
                  },
                  "context": null,
                  "botName": "租车bot",
                  "botDesc": null,
                  "botVersion": 1,
                  "agentType": 1,
                  "webhook": null
              },
              "code": 200,
              "msg": "OK"
          }

          自动填充:

          {
              "suggestAnswer": "请提供目的地城市",
              "appendAnswers": null,
              "source": "auto_fill",
              "solved": true,
              "confidence": 0,
              "confirmQuestions": [],
              "queryId": "ec17c61a-b673-4a85-aefe-6f3aca9cc662",
              "queryTime": "2020-06-02 15:08:21:882",
              "answerTime": "2020-06-02 15:08:22:178",
              "sessionId": "23eb7904-68e5-4544-a29b-9d7e1426a99a",
              "answer": {
                  "entityAutoFill": {
                      "entityAutoFillName": "cmp_location",
                      "entityAutoFillVo": {
                          "entity": {
                              "entityId": null,
                              "entryId": null,
                              "value": "北京 ---> null",
                              "original": "北京出发",
                              "name": "cmp_location",
                              "nameZh": "复合地点实体",
                              "subName": null,
                              "offset": 3,
                              "system": false,
                              "display": null,
                              "type": 0,
                              "combineValue": "{%from_city%} ---> {%to_city%}",
                              "extra": {
                                  "template_match": "~{[@sys_location],name='from_city'}[去|前往|到|出发]",
                                  "from_city": "北京",
                                  "extractDict": {
                                      "from_city": {
                                          "value": {
                                              "index": 14,
                                              "value": "北京"
                                          },
                                          "type": "entity",
                                          "typeName": "@sys_location"
                                      }
                                  }
                              }
                          },
                          "entityFillType": 1,
                          "propertyVoMap": {
                              "to_city": {
                                  "text": "请提供目的地城市",
                                  "askCount": 2,
                                  "success": false,
                                  "propertyId": "20bf65d1-919f-408d-8798-ab532f81f309"
                              }
                          },
                          "propertyNames": [
                              "to_city"
                          ],
                          "currentFillVo": {
                              "propertyName": "to_city",
                              "fillText": "请提供目的地城市"
                          }
                      },
                      "fillText": "请提供目的地城市",
                      "entityAutoFillVoMap": {
                          "cmp_location": {
                              "entity": {
                                  "entityId": null,
                                  "entryId": null,
                                  "value": "北京 ---> null",
                                  "original": "北京出发",
                                  "name": "cmp_location",
                                  "nameZh": "复合地点实体",
                                  "subName": null,
                                  "offset": 3,
                                  "system": false,
                                  "display": null,
                                  "type": 0,
                                  "combineValue": "{%from_city%} ---> {%to_city%}",
                                  "extra": {
                                      "template_match": "~{[@sys_location],name='from_city'}[去|前往|到|出发]",
                                      "from_city": "北京",
                                      "extractDict": {
                                          "from_city": {
                                              "value": {
                                                  "index": 14,
                                                  "value": "北京"
                                              },
                                              "type": "entity",
                                              "typeName": "@sys_location"
                                          }
                                      }
                                  }
                              },
                              "entityFillType": 1,
                              "propertyVoMap": {
                                  "to_city": {
                                      "text": "请提供目的地城市",
                                      "askCount": 2,
                                      "success": false,
                                      "propertyId": "20bf65d1-919f-408d-8798-ab532f81f309"
                                  }
                              },
                              "propertyNames": [
                                  "to_city"
                              ],
                              "currentFillVo": {
                                  "propertyName": "to_city",
                                  "fillText": "请提供目的地城市"
                              }
                          }
                      }
                  }
              },
              "context": null,
              "botName": "call_in_bot",
              "botDesc": null,
              "botPublishVersion": 0,
              "agentType": 1,
              "webhook": null,
              "debugInfo": null
          }

          系统设置:

          {
              "time": 1574318085952,
              "data": {
                  "suggestAnswer": "这是重述哦",
                  "appendAnswers": null,
                  "source": "system",
                  "solved": true,
                  "confidence": 1,
                  "queryId": "afdbf45b-0a68-4017-a0ed-32fc9b74e1ed",
                  "queryTime": "2019-11-21 14:34:45:884",
                  "answerTime": "2019-11-21 14:34:45:952",
                  "sessionId": "3cdd81e2-edbc-4d26-87a1-c6ce9ebaa0da",
                  "answer": {
                      "count": 2,
                      "index": 1,
                      "symbol": null,
                      "reply": {
                          "symbol": "=",
                          "count": 2,
                          "isWebhook": false,
                          "type": 1,
                          "text": "这是重述哦",
                          "action": "",
                          "url": "",
                          "audio": null,
                          "hangup": 1
                      }
                  },
                  "context": null,
                  "botName": "租车bot",
                  "botDesc": null,
                  "botVersion": 1,
                  "agentType": 1,
                  "webhook": null
              },
              "code": 200,
              "msg": "OK"
          }

          未匹配回复:

          {
            "time": 1581654593238,
            "data": {
              "suggestAnswer": "抱歉,我不太理解您的意思",
              "appendAnswers": null,
              "source": "none",
              "solved": false,
              "confidence": 0,
              "queryId": "eed1e1da-2516-4eb1-80f6-684bc9762700",
              "queryTime": "2020-02-14 12:29:53:117",
              "answerTime": "2020-02-14 12:29:53:238",
              "sessionId": "1f4eb0a4-bb86-4f71-8475-0ee8feea109d",
              "answer": null,
              "context": null,
              "botName": "test",
              "botDesc": null,
              "botPublishVersion": 0,
              "agentType": 2,
              "webhook": null
            },
            "code": 200,
            "msg": "OK"
          }

          NLU 预测接口

          接口地址

          https://api-ngd.baidu.com/api/v2/nlu/recognize

          请求方式

          POST

          请求参数说明

          request body

          参数名 类型 必选 说明
          query string 用户query

          返回参数说明

          参数名 类型 必选 说明
          code int 错误码
          msg string 错误信息
          data json 结构如下

          data:

          参数名 类型 必选 说明
          rawQuery String 原始query
          nluQuery String nlu分析query
          intents List 识别出的意图列表
          clarifyIntents List 识别出的意图澄清列表
          clarifyTemplates List 识别出的模版澄清列表
          entities Map 识别出的实体列表
          clarifyEntities Map 识别出的实体澄清列表
          nluEntityClarifyList List 识别出的实体澄清列表
          sentiment Map 识别出的情感
          attitude Map 识别出的态度
          sensitiveWords List< String> 识别出的敏感词
          noResponse Boolean 是否意图不响应问

          intents/clarifyIntents/clarifyTemplates:

          参数名 类型 必选 说明
          id String 意图id
          name String 意图英文名称
          nameZh String 意图中文名称
          description String 意图描述
          system Boolean 是否系统意图
          source String 算法名称
          alias String 意图别名
          templateStr String 模版字符串

          nluEntityClarifyList:

          参数名 类型 必选 说明
          entityId String 实体id
          entryId String 实体值id
          value String 识别出的实体值
          original String 原始query实体值
          name String 实体英文名称
          nameZh String 实体中文名称
          offset int 原始query实体偏移量
          system Boolean 是否为系统实体
          display String 实体显示值
          extra Map 其他信息

          sentiment:

          参数名 类型 必选 说明
          query String 用户query
          prob String 置信度
          source String 来自模型
          name String 标签别名
          nameZh String 标签中文名, 消极、积极、中立

          attitude:

          参数名 类型 必选 说明
          query String 用户query
          prob String 置信度
          source String 来自模型
          name String 标签别名
          nameZh String 标签中文名,肯定、否定、无态度

          请求示例

          curl -i "https://api-ngd.baidu.com/api/v2/nlu/recognize" -H 'Authorization: NGD develop_token' -H 'Content-Type: application/json' -XPOST -d '{"query":"气温怎么样"}'

          响应结果示例

          {
              "time": 1582079541029,
              "data": {
                  "rawQuery": "气温怎么样",
                  "nluQuery": "气温怎么样",
                  "intents": [
                      {
                          "id": "04ac48d8-c87a-42c0-b5fe-cb0eff396741",
                          "name": "climate",
                          "description": "",
                          "agentId": "9a5b56e7-d682-419d-95ff-85877e1c563b",
                          "created": "52104-02-07 08:40:00",
                          "updated": "52104-02-07 08:40:00",
                          "confidence": 1,
                          "source": "template",
                          "threshold": 0,
                          "system": false,
                          "alias": "cold",
                          "nameZh": "查气候",
                          "examples": null,
                          "hasActiveCopy": false,
                          "templateStr": "气温怎么样",
                          "createdUserName": null,
                          "createdUserId": null,
                          "lastEditUserName": null,
                          "lastEditUserId": null,
                          "version": 0
                      },
                      {
                          "id": "c3eee251-525d-4d67-aeae-419d8900e39f",
                          "name": "get_weather",
                          "description": null,
                          "agentId": null,
                          "created": null,
                          "updated": null,
                          "confidence": 1,
                          "source": "template",
                          "threshold": 0,
                          "system": false,
                          "alias": "查天气",
                          "nameZh": "查天气",
                          "examples": null,
                          "hasActiveCopy": false,
                          "templateStr": "气温怎么样",
                          "createdUserName": null,
                          "createdUserId": null,
                          "lastEditUserName": null,
                          "lastEditUserId": null,
                          "version": 0
                      }
                  ],
                  "clarifyIntents": [],
                  "entities": {
                      "whether": [
                          {
                              "entityId": "f8bd843e-41cb-4d96-8b8f-765a85c975ed",
                              "entryId": "0e0f96bd-f126-4661-b374-1cb58078b893",
                              "value": "气温",
                              "original": "气温",
                              "name": "whether",
                              "nameZh": "天气",
                              "subName": null,
                              "offset": 0,
                              "system": false,
                              "display": null,
                              "extra": null
                          }
                      ],
                      "climate": [
                          {
                              "entityId": "89340252-3e32-47cb-9bbd-dacc12c72676",
                              "entryId": "6ef82bfe-b84a-4e72-b5a8-58527640132b",
                              "value": "气温",
                              "original": "气温",
                              "name": "climate",
                              "nameZh": "气候",
                              "subName": null,
                              "offset": 0,
                              "system": false,
                              "display": null,
                              "extra": null
                          }
                      ]
                  },
                  "clarifyEntities": {},
                  "sentiment": {
                      "query": "气温怎么样",
                      "label": 0,
                      "prob": 1,
                      "source": "model",
                      "name": "neutral",
                      "nameZh": "中立"
                  },
                  "source": null,
                  "attitude": {
                      "query": "气温怎么样",
                      "label": 0,
                      "prob": 1,
                      "source": "model",
                      "name": "unknown",
                      "nameZh": "无态度"
                  },
                  "sensitiveWords": [],
                  "entityClarifyList": [],
                  "nluEntityClarifyList": [],
                  "clarifyTemplates": [
                      {
                          "id": "04ac48d8-c87a-42c0-b5fe-cb0eff396741",
                          "name": "climate",
                          "description": "",
                          "agentId": "9a5b56e7-d682-419d-95ff-85877e1c563b",
                          "created": "52104-02-07 08:40:00",
                          "updated": "52104-02-07 08:40:00",
                          "confidence": 1,
                          "source": "template",
                          "threshold": 0,
                          "system": false,
                          "alias": "cold",
                          "nameZh": "查气候",
                          "examples": null,
                          "hasActiveCopy": false,
                          "templateStr": "气温怎么样",
                          "createdUserName": null,
                          "createdUserId": null,
                          "lastEditUserName": null,
                          "lastEditUserId": null,
                          "version": 0
                      },
                      {
                          "id": "c3eee251-525d-4d67-aeae-419d8900e39f",
                          "name": "get_weather",
                          "description": null,
                          "agentId": null,
                          "created": null,
                          "updated": null,
                          "confidence": 1,
                          "source": "template",
                          "threshold": 0,
                          "system": false,
                          "alias": "查天气",
                          "nameZh": "查天气",
                          "examples": null,
                          "hasActiveCopy": false,
                          "templateStr": "气温怎么样",
                          "createdUserName": null,
                          "createdUserId": null,
                          "lastEditUserName": null,
                          "lastEditUserId": null,
                          "version": 0
                      }
                  ],
                  "noResponse": false
              },
              "code": 200,
              "msg": "OK"
          }

          常见问题

          • 问题1: 访问core/start,core/query接口返回错误信息「bot token错误」?

            • 原因1: bot未发布。
            • 原因2: bot token错误。bot token可以在Bot管理列表中复制Token获取。
          上一篇
          业务系统对接
          下一篇
          表达式说明