人机对话

一、接口描述

1. 功能描述

为开发者提供SAAS方式的可视化界面,快速帮助开发者实现某领域的自定义语义交互能力,帮助开发者对接用户所下达的指令或搜索的信息给予相对应的服务。提供两种方式:1.任务型对话管理:提供多轮对话管理引擎,让开发者能在面向任务的对话中,透过追问的多轮交互得到足够的信息去执行任务,更加拟真的人机交互,提升用户体验。2.QA型对话管理:基于问题答案库,进行信息检索的过程,从知识库中找到语义匹配的正确的回应。

2. 接口使用:

平台为每个API提供试用体验服务,您在AI市场选择“免费试用”规格下单后,即可开始体验业内领先的人工智能API服务。 免费试用服务具有调用量、QPS限制,如需更高性能的API服务,可以提交咨询工单,联系京东AI扩容购买。

使用接口前,需要先完成API的下单购买,然后可使用已经封装好的SDK/参照接口鉴权规则进行相应开发,整体流程详见 接入流程

二、请求说明

1. 接口地址 :

https://aiapi.jd.com/jdai/dialog

2. 请求方式:

 post

3. 请求参数

(1)query请求参数

公共请求参数

名称 类型 必填 示例值 描述
appkey string 80d2b762ecb86593f9668526920f46c 您的appkey,可在买家中心控制台中获
timestamp long 1541491668060 请求的时间戳,精确到毫秒,timestamp有效期5分钟
sign string 2e148773a0337a8f2200ba90d445f083 签名,根据规则MD5(sectetkey+timestamp)

(2)header请求参数

业务请求参数

名称 类型 必填 示例值 描述
Content-Type string application/json 表示请求JSON格式的文本信息

(3)body请求参数

业务请求参数

名称 类型 必填 示例值 描述
appId string taohongming_6_add68b6c-4e81-4fd4-b865-55b942b494e8 应用id,同一调用方可以创建多个应用。
sessionId string xxxxssssssxxx 会话id,同一次会话id保持不变。
text string 满5件打3折 输入文本
topK int 3 返回分数较高的 k 个结果。

4、请求代码示例

建议您使用我们提供的SDK进行调用,SDK获取及调用方式详见本页一接口描述中的4接口使用

三、返回说明

1、返回参数

(1)公共返回参数

名称 类型 示例值 描述
code string 1000 参见下方错误码-系统级错误码
charge boolean false 或 true false:不扣费, true:扣费
remainTimes long 1305 剩余调用次数;免费api:每天剩余调用次数;收费api:剩余次数;无限制时为-1
remainSeconds long 1223456 剩余调用时间(s);免费api:-1;收费api:剩余调用时间;无限制时为-1
msg string 查询成功 参见下方错误码-系统级错误码数
result object {...} 查询结果

(2)业务返回参数

名称 类型 示例值 描述
status int 0 参照四、错误码-业务错误码
message string OK 参照四、错误码-业务错误码
request_id string 5893465d31284468a8014de6ee430f8e 便于双方定位问题
type int 1 对话响应回答的类型,1: 任务型对话的响应回答;2: QA型对话的响应回答。
dialogResult DialogResponse { "response": "本轮会话结束", "completed": true, "intent": { "slots": [ { "rawValue": "打3", "name": "gift", "value": "3" }, { "rawValue": "5", "name": "condition", "value": "5" } ], "name": "ManMJianNZhe" } } 对话的响应回答,根据type,对话响应回答对应相应的子类 TaskDialogResult和QADialogResult。

SemanticResult字段说明

Type为1, TaskDialogResult: 任务型对话语义解析的结果

名称 类型 示例值 描述
intent Intent { "name": "callTaxi", "slots": [ { "name": "Fairy_Time", "value": "03:00", "rawValue": "3点" } ] } 包含所解析的意图、槽值信息、对输入文本的响应回答以及任务型对话是否结束(已经收集到所有必填槽值信息)的标志
response String 你想去哪 回答的答案
completed double false 对话是否结束

Type为2, QADialogResult: 任务型对话语义解析的结果 (answers)

名称 类型 示例值 描述
question string 怎样使用滴滴打车 问题
answer Srting 可以下载滴滴app 回答的答案
type String 9 类型
score double 0.9999999999733115 分数(0-1),分数越高,表示意图识别的可能性越高

2、返回示例

此处内容为通过网关后返回的结果,包含公共返回参数

1.我想打车
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": { 
        "status": 0,
        "request_id": null,
        "type": 1,
        "dialogResult": {
            "intent": {
                "name": "callTaxi",
                "slots": []
            },
            "response": "想几点出发",
            "completed": false
        }
    }
}
2.我想3点出发
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": { 
        "status": 0,
        "request_id": “xxxxxx”,
        "type": 1,
        "dialogResult": {
            "intent": {
                "name": "callTaxi",
                "slots": [
                    {
                        "name": "Fairy_Time",
                        "value": "03:00",
                        "rawValue": "3点"
                    }
                ]
            },
            "response": "你想去哪",
            "completed": false
        }
    }
}
3.我想去亦庄
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": { 
        "status": 0,
        "request_id": “xxxxx”,
        "type": 1,
        "dialogResult": {
            "intent": {
                "name": "callTaxi",
                "slots": [
                    {
                        "name": "Fairy_Time",
                        "value": "03:00",
                        "rawValue": "3点"
                    },
                    {
                        "name": "toLocation",
                        "value": "亦庄",
                        "rawValue": "亦庄"
                    }
                ]
            },
            "response": "你确认要在03:00去亦庄吗",
            "completed": false
        }
    }
}
4.确认
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": { 
        "status": 0,
        "request_id": “”,
        "type": 1,
        "dialogResult": {
            "intent": {
                "name": "callTaxi",
                "slots": [
                    {
                        "name": "Fairy_Time",
                        "value": "03:00",
                        "rawValue": "3点"
                    },
                    {
                        "name": "toLocation",
                        "value": "亦庄",
                        "rawValue": "亦庄"
                    }
                ]
            },
            "response": "本轮会话结束",
            "completed": true
        }

    }
}

5.怎样使用滴滴打车
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": { 
        "status": 0,
        "request_id": “xxxxxx”,
        "type": 2,
        "dialogResult": {
            "answer": [
                {
                    "question": "怎样使用滴滴打车",
                    "answer": "可以下载滴滴app",
                    "type": "9",
                    "score": 0.9999999999733115
                },
                {
                    "question": "怎样使用滴滴打车",
                    "answer": "可以微信小程序使用",
                    "type": "9",
                    "score": 0.9999999999733115
                }
            ]
        }
    }
}
6.我想去火星
{
    "code": "10000",
    "charge": false,
    "remainTimes": 999998,
    "remainSeconds": -1,
    "msg": "查询成功",
    "result": {   
        "status": 0,
        "request_id": “xxxxxx”,
        "type": 1,
        "dialogResult": {
            "intent": null,
            "response": "听不懂你在说什么",
            "completed": false
        }
     }
}

四、错误码

1.系统级错误码

详见返回码

2.业务错误码

业务错误码(status) message 说明
12001 "Invalid parameter" 无效参数
12002 "Missing parameter" 缺少参数
12003 "Error parsing parameter information" 参数解析错误
Copyright © JD AI Platform all right reserved,powered by GitbookFile Modify: 2020-11-26 03:27:29

results matching ""

    No results matching ""