文档首页 > > API参考> 问答机器人> 问答会话API> 处理会话

处理会话

分享
更新时间:2020/09/21 GMT+08:00

功能介绍

用户可通过调用该接口与机器人进行会话。

URI

  • URI格式
    POST /v1/{project_id}/qabots/{qabot_id}/sessions/{session_id}
  • 参数说明
    表1 URI参数说明

    名称

    是否必选

    说明

    project_id

    项目ID,用于资源隔离。请参见获取项目ID

    qabot_id

    机器人标识符,qabot编号,UUID格式。如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。

    进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。

    session_id

    会话标识符,UUID格式。如:c04e6f7b-61d7-4a2d-a0c8-f9ecd2f62359。

    具体获取方式请参见开启会话章节。

请求消息

表2 body(即PostQaBotSessionReq)数据结构说明

名称

类型

说明

question

String

用户问题。如:查天气。

extends

Object

扩展参数,具体参见表4

chat_enable

Boolean

默认true。

true:使用内部闲聊语料进行兜底。

false:不使用闲聊兜底。

user_id

String

用户id,在日志中用于标识不同用户,可以为任意String。

表3 Extends数据结构说明

名称

类型

说明

top

Integer

当返回为单轮答案时,返回的最多问答对数量,默认为5,取值范围[1,10]。

tag_ids

object

待匹配的答案标签信息。object具体参见表4

domain_ids

Array of string

问题类别id列表。

只有属于这些问题类别的知识库问答对才会被匹配到。

source

String

问题来源。

支持用户自定义,最终体现在问答日志里。

threshold_enable

boolean

阈值处理开关,默认为true,表示是否对知识库返回的问答对进行阈值处理。

表4 Tags数据结构说明

名称

类型

说明

must

Array of string

必须要含有答案标签id的列表。

响应消息

响应参数说明如表5所示。

表5 响应参数

名称

类型

说明

error_code

String

调用失败时的错误码。调用成功时无此字段,如:CBS.0011。

error_msg

String

调用失败时的错误信息。调用成功时无此字段,如:auth failed。

reply_type

Integer

回复类型:

0 知识库回复。

1 技能回复。

2 闲聊回复。

qabot_answers

object

知识库回复,具体参见表6 qabotanswers数据结构说明

request_id

String

请求ID。调用失败时无此字段。

chat_answers

object

闲聊回复,具体参见表8

taskbot_answers

object

技能回复,具体参见表9。只有专业版机器人有该回复。

表6 qabotanswers数据结构说明

名称

类型

说明

request_id

String

请求ID。调用失败时无此字段。

answers

Array of object

问答机器人回复。详细请参见表7 qabotanswer数据结构说明

表7 qabotanswer数据结构说明

名称

类型

说明

qa_pair_id

String

问答对ID,UUID格式,如:305cd440-ab4f-4704-9b30-ffa4e82a5606。

st_question

String

标准问题,如:桌面云打不开。

answer

String

答案,如:桌面云打不开了。

score

Number

相似度得分,精确到小数点后3位。

domain

String

所属领域,如:桌面云。

top_score_question

String

最高评分的扩展问或标准问,当关闭阈值处理时返回。具体见表3

表8 chatanswers数据结构说明

名称

类型

说明

answer

String

答案,如:美好的一天祝您一切顺利。

score

Number

闲聊的置信度,范围:[0.0,1.0 ]。0.0表示兜底回复。

表9 taskbotanswers数据结构说明

名称

类型

说明

log_id

String

日志标识符,UUID格式。如:ac0b79d1-b92e-47fe-84b5-3d3eed83b8c1。

answer

String

答案, 如:请问您需要查询哪里的天气?

skill_id

String

技能标识符,UUID格式。如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。

skill_responses

Array of object

技能信息,具体参见表10

表10 SkillInfo数据结构说明

名称

类型

说明

skill_id

String

输入问题,不能为空,UUID格式,如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。

skill_version

String

skill的版本。

frame

object

命中意图,具体参见表11

candidate

object

候选意图,具体参见表12

表11 Frame数据结构说明

名称

类型

说明

intention

String

意图。

confidence

Number

命中意图置信度。

current_slots

Array of object

当前槽位列表,具体参见表12

history_slots

Array of object

历史槽位列表,具体参见表14

reply

String

机器人回复。

task_complete

Boolean

任务是否完成。

candidate_words

Array of String

候选词。

表12 CurrentSlot数据结构说明

名称

类型

说明

slot_id

String

槽位标识符,UUID格式,如:9eece064-bdb5-43cb-8e0f-8c19a929e25c。

slot_name

String

槽位名称。

slot_values

Array of object

槽位值,具体参见表13

表13 SlotValue数据结构说明

名称

类型

说明

word

String

词。

norm_word

String

通用词。

begin_position

Integer

词的起始位置。

end_position

Integer

词的结束位置。

表14 HistorySlot数据结构说明

名称

类型

说明

slot_name

String

槽位名称。

slot_values

Array of object

槽信息,具体参见表15

表15 HistorySlotWord数据结构说明

名称

类型

说明

word

String

词。

norm_word

String

归一化后的词。

表16 Candidate数据结构说明

名称

类型

说明

candidate_intention

String

候选意图。

candidate_confidence

Number

候选技能置信度。

示例

  • 请求示例
    POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/sessions/{session_id}
    
    Request Header:
    Content-Type: application/json
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
  • 响应示例
    • 成功响应样例
      {
         "reply_type":0,
         "qabot_answers":{
            "request_id":"0a1b12ad-8448-4c95-8c13-fb199762f4511583841605901",
            "answers":[
               {
                  "score":1,
                  "answer":"桌面云打不开了",
                  "domain":"桌面云",
                  "qa_pair_id":"305cd440-ab4f-4704-9b30-ffa4e82a5606",
                  "st_question":"桌面云打不开"
               }
            ]
         }
      }
      
      {
         "reply_type":1,
         "taskbot_answers":{
            "answer":"请问您需要查询哪里的天气?",
            "log_id":"ac0b79d1-b92e-47fe-84b5-3d3eed83b8c1",
            "skill_id":"b7b16fc3-0946-46f7-8c70-b954b4fdb736",
            "skill_responses":[
               {
                  "frame":{
                     "intention":"weather_query",
                     "confidence":0.9339861716638148,
                     "reply":"请问您需要查询哪里的天气?",
                     "candidate_words":[
      
                     ],
                     "task_complete":false,
                     "current_slots":[
      
                     ],
                     "history_slots":[
      
                     ]
                  },
                  "candidate":{
                     "candidate_confidence":0
                  },
                  "skill_id":"b7b16fc3-0946-46f7-8c70-b954b4fdb736",
                  "skill_version":"v8"
               },
               {
                  "frame":{
                     "confidence":0,
                     "reply":"对不起,我没明白,请再多教我一些吧",
                     "candidate_words":[
      
                     ],
                     "task_complete":true,
                     "current_slots":[
      
                     ],
                     "history_slots":[
      
                     ]
                  },
                  "candidate":{
                     "candidate_confidence":0
                  },
                  "skill_id":"9eece064-bdb5-43cb-8e0f-8c19a929e25c",
                  "skill_version":"v13"
               }
            ]
         }
      }
      
      {
         "reply_type":2,
         "chat_answers":{
            "answer":"美好的一天祝您一切顺利"
         }
      }
      
    • 失败响应样例
      {
          "error_code":"CBS.0011",
          "error_msg":"auth failed"
      }

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问