更新时间:2022-02-22 GMT+08:00
调用问答机器人
在配置完问答数据后,您可以通过对话体验或者API的方式直接调用对话机器人,为您的客户提供问答服务。
问答机器人面向客户的问答界面需要您根据自己业务需求进行开发,前台界面收到客户问题后,调用问答机器人的接口,并与机器人进行交互,最终将问答机器人返回的答案呈现给客户。交互的过程中,问答机器人会基于知识库配置,对传入的客户问题进行搜索处理,并返回答案。
对话体验
对于一个新建的问答机器人,在知识库导入完成后,就可以通过对话体验界面进行对话。
- 进入对话机器人服务管理控制台,在左侧菜单栏中选择“智能问答机器人”。在机器人列表中,单击该机器人的ID或者“机器人管理”按钮。
- 在机器人管理的任意页面中,单击右上角“对话体验”,展开对话窗口。在对话框中,输入您的问题,或者通过单击返回的推荐问,获得答案。
图1 对话体验
调用API
问答机器人中常用的接口如下所示。
- 获取问题提示
如果用户不确定对于现有问题该如何提问,可以使用问题的关键词向问答服务获取问题提示。
示例:用户需要问关于云桌面的相关问题。
- 请求示例
POST https://{endpoint}/v1/41551a23c2be484cb0070631e323ee52/qabots/b36a01da-7fc2-43f8-8990-218e57a94420/chat Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "question": "桌面云打不开了" }
- 响应示例
- 成功响应示例
{ "questions":[ "桌面云打不开", "桌面云无法登录" ] }
- 失败响应示例
{ "error_code": "CBS.0022", "error_msg": "question can not be null" }
- 成功响应示例
- 请求示例
- 问答请求
用户通过API向智能问答服务提出问题,如果问答机器人通过语义匹配在知识库找到答案,智能问答服务返回问题答案,如果没有查找到答案,返回失败信息。
- 请求示例
POST https://{endpoint}/v1/1604d8170cd84440a81281e5a3a04f8b/qabots/303a0a00-c88a-43e3-aa2f-d5b8b9832b02/requests Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "user_id": "z00123456", "session_id": "xxxxxxxxxxxxxxxxxx", "operate_type":3, "question": "桌面云无法登录" }
- 响应示例
- 成功响应示例
1. 关闭内置阈值处理(设置threshold_enable = false),按top个数返回结果数量。
{ "request_id": "303a0a00-c88a", "question": "桌面云打不开", "answers": [ { "qa_pair_id":"123", "st_question":"桌面云打开不了", "answer":"用户账号不对", "score":0.952, "domain":"桌面云" }, { "qa_pair_id":"123", "st_question":"桌面云打开不了了", "answer":"用户账号不对", "score":0.901, "domain":"桌面云" }, { "qa_pair_id":"123", "st_question":"桌面云是啥", "answer":"桌面云是可以远程办公的系统", "score":0.352, "domain":"桌面云" }, { "qa_pair_id":"123", "st_question":"电脑桌面打不开", "answer":"请检查下显示器是否开启", "score":0.352, "domain":"桌面云" }, ] }
2. 开启内部阈值处理。
表1 内部阈值处理 序列
处理条件
结果
例1
分值最高的问答对分数高于设定阈值θ(默认模型为0.4)。
只返分值最高的问答对。表示精确匹配。
例2
分值最高的问答对分数低于θ高于 θ/2。
返回该问答对和分值高于θ/2的若干个推荐问(推荐问为去除答案的问答对)。
例3
分值最高的问答对分数低于 θ/2高于 θ/3。
返回分值处于θ/2~ θ/3 的推荐问。
例1:{ "request_id": "303a0a00-c88a", "question": "桌面云打不开", "answers": [ { "qa_pair_id":"123", "st_question":"桌面云打开不了", "answer":"用户账号不对", "top_score_question":"桌面云打开不了", "score":0.952, "domain":"桌面云" } ] }
例2:{ "request_id": "303a0a00-c88a", "question": "桌面云打不开", "answers": [ { "qa_pair_id":"123", "st_question":"桌面云打开不了", "top_score_question":"桌面云打开不了", "answer":"用户账号不对", "score":0.352, "domain":"桌面云" } { "qa_pair_id":"123", "st_question":"桌面云打开不了了", "score":0.301, "domain":"桌面云" }, { "qa_pair_id":"123", "st_question":"桌面云是啥", "score":0.252, "domain":"桌面云" } ] }
例3:{ "request_id": "303a0a00-c88a", "question": "桌面云打不开", "answers": [ { "qa_pair_id":"123", "st_question":"桌面云打开不了了", "score":0.291, "domain":"桌面云" }, { "qa_pair_id":"123", "st_question":"桌面云是啥", "score":0.252, "domain":"桌面云" } ] }
3. 闲聊兜底或无答案回复。
{ "request_id": "303a0a00-c88a", "question": "你好", "answers": [ { "answer":"您好,请问有什么可以帮您的吗?" } ] }
- 失败响应示例
{ "error_code": "CBS.0022", "error_msg": "session_id can not be null" }
- 成功响应示例
- 请求示例
- 问答满意评价
用户通过API对问答服务返回的答案进行满意度评价。当前仅支持二级评分,“1”表示满意,“-1”表示不满意。
示例:问答满意度评价。
- 请求示例
POST https://{endpoint}/v1/1604d8170cd84440a81281e5a3a04f8b/qabots/303a0a00-c88a-43e3-aa2f-d5b8b9832b02/requests/303a0a00-c88a/satisfaction Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "degree":1 }
- 响应示例
- 成功响应示例
{ "request_id":"303a0a00-c88a", "updated_time":"2017-02-07T17:34:02Z" }
- 失败响应示例
{ "error_code": "CBS.0099", "error_msg": "request body invalid." }
- 成功响应示例
- 请求示例
父主题: 机器人管理