注册 登录
返回上一页>> 知识库开放API

产品概述

简介

图灵机器人除了为广大用户提供免费的API接口,也开放了一些高级API接口来满足更多用户的使用需求。图灵机器人知识库接口暂时对标准版和儿童版用户开放,目前新增了5个开放接口(知识库新增、删除、修改、查询、修改机器人名称)。

产品特色

图灵机器人提供的知识库开放API,方便用户(标准版、儿童版用户)对自有知识库数据的管理与操作。用户获得API后无需登录图灵机器人官网后台进行数据的相关操作,直接通过该接口就能完成对数据的增删改查操作,并能实现与官网知识库数据同步更新。

功能介绍

图灵机器人知识库开放API提供了5个开放权限服务,包括知识库新增、知识库删除、知识库修改、知识库查询、修改机器人名称。

应用场景

每个图灵帐号下都可以根据不同的场景来创建不同的机器人(最多5个),并且每个机器人下最多可有5个知识库,方便用户导入私有知识库数据来为自己的机器人注入“独家内容”。这时用户可使用图灵机器人知识库开放API来完成对数据的快速导入、删除、查找等管理工作。(新增/导入数据默认添加到该机器人帐号下的“默认知识库”)

使用说明

购买须知

(1)使用者须为图灵机器人标准版或专业版用户;

(2)用户使用知识库新增接口批量导入数据时,享有与官网Excel上传导入相同的权限设置(10000条/5次/天)。官网导入数据与接口导入数据都以累计的方式进行,每天数据导入量上限为10000条,次数上限为5次;

(3)用户使用知识库新增接口逐条添加数据时,每日导入量上限为10000条;

(4)图灵机器人对知识库接口提供了安全模式设置,目前分为加密和不加密两种形式,用户可按需自行设定。用户可登录图灵机器人官网,进入到机器人详情页的知识库模块的知识库API接口中对API进行“是否开启安全模式”配置,关于安全模式的详情介绍,请参照文档“安全”部分;

(5)用户如想修改知识库中的数据时,推荐将该条数据删除后再重新添加。

安全

安全模式开启

用户登录图灵机器人官网,可以在机器人详情页的知识库模块的知识库API接口中自行选择,目前提供加密和不加密两种模式,如果采用加密模式,还需设置加密模式的编码密钥(密钥按照要求自行设置,如:密钥为test123),如下图所示:

安全模式说明

目前安全模式提供了加密和不加密两种方式,若使用加密模式时,请求的json数据中需要增加token字段。

(1)token值的计算

token = md5(data字段+密钥) (base64小写)

示例中,密钥为test123

注:被加密的字符串需要设置为utf8字符集,md5的加密结果以mysql md5()函数生成结果为准(mysql需要设置为utf8字符集)。

(2)示例

以导入知识库为例

如果选择“不加密模式”无需传入token字段;当使用“加密模式”时,需要按照以上md5加密方式计算得出的token值结果加入token字段。

不加密模式 加密模式
{
  "apikey":"图灵apikey(32位)",
  "data":[
    {"question":"测试问题1","answer":"测试答案1"},
    {"question":"测试问题2","answer":"测试答案2"}
  ]
}
{
  "apikey":"图灵apikey(32位)",
  "data":[
    {"question":"测试问题1","answer":"测试答案1"},
    {"question":"测试问题2","answer":"测试答案2"}
  ], "token":"ca7faa2295639b8c1c84a30e7da3756a"
}
注:
  (1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在“我的机器人”页中获取;
  (2)采用加密模式下的token值
    1)密钥:test123
    2)token:"ca7faa2295639b8c1c84a30e7da3756a"通过以下加密方式计算得出
md5(data字段+密钥)= md5([ {"question":"测试问题1","answer":"测试答案1"},{"question":"测试问题2","answer":"测试答案2"}]test123)

(3)测试方式:在控制台使用mysql,输入

select md5("密文");

接口

图灵机器人知识库接口目前对标准版和儿童版用户开放了5个接口,其中包括知识库新增、知识库删除、知识库修改、知识库查询及修改机器人名称接口。

请求方式

使用接口时,所有的请求统一采用POST方式

数据格式

请求数据及返回数据格式都为json格式,会统一返回一个code作为返回结果的判断凭证,如果结果为成功,则data字段将返回数据。如果结果为失败,data字段将返回失败原因的描述。

返回状态码

返回状态码如下表所示:

code 说明
0 请求成功
101 请求内容为空
201 请求超时
301 异常信息(json格式错误,500错误等)
401 帐号不合法
403 帐号上传权限已经用尽
404 帐号没有知识库接口使用权限
405 帐号开启安全模式,token校验失败
501 json请求的内容有误

知识库新增

该接口为知识库数据新增、批量导入接口,方便用户导入知识库数据。(数据默认导入到该机器人帐号下的“默认知识库”中)

(1) 请求接口

http://www.tuling123.com/v1/setting/importfaq

(2) 输入数据(分为加密和不加密两种方式)

不加密模式 加密模式
{
  "apikey":"图灵apikey(32位)",
  "data":[
     {"question":"测试问题1","answer":"测试答案1"},
     {"question":"测试问题2","answer":"测试答案2"}
  ]
}
{
  "apikey":"图灵apikey(32位)",
  "data":[
      {"question":"测试问题1","answer":"测试答案1"},
     {"question":"测试问题2","answer":"测试答案2"}
  ],
"token":"md5加密计算结果"
}
注: (1)apikey为作为图灵给予每个用户的唯一标识,用户可通过注册图灵帐号,在”机器人接入”页中获取;
(2)采用加密模式下的token值
    1)密钥:test123
    2)token通过以下加密方式计算得出
md5(data字段+密钥)= md5([ {"question":"测试问题1","answer":"测试答案1"},{"question":"测试问题2","answer":"测试答案2"}]test123)

(3) 输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 添加NLP知识库内容
question 添加数据问题
answer 添加数据答案
token 校验字段,加密必须

4) 返回数据说明

示例的返回为:{"code":0,"data":"2"}

字段 说明
code 返回状态码数据
data 成功:数据添加成功条数
失败:失败原因的描述

知识库查询

该接口为知识库查询接口,方便用户对数据进行查询。

(1)请求接口

http://www.tuling123.com/v1/setting/selectfaq

(2)输入数据

目前可以支持三种情况的查询

1)若要查询该帐号下知识库中存储的数据总量,只需传入apikey字段即可。

示例 说明
{
    "apikey": "图灵apikey(32位)"
}

apikey为必须字段,查询结果为该机器人帐号下知识库的总条数

2) 若要通过关键词来查询数据,则需传入apikey及data中pages部分的参数。

示例 说明
按照关键词查询
{
  "apikey": "图灵apikey(32位)",
  "data": {
     "pages":{
      "pageNumber":1,
     "pageSize":10,
     "searchBy": "测试"
     }
  }
}


apikey为必须字段


非必须字段,返回查询结果的第1页数据
非必须字段,每页显示10条数据
关键词查询时为必须字段

3) 若想通过数据的id来查询数据,则需传入apikey及data中ids字段,返回结果为id列表的记录。

示例 说明
{
  "apikey": "图灵apikey(32位)",
    "data": {
    "ids": [1,2]
  }
}

apikey为必须字段

按照id查询时为必须字段

4) 除上述三种查询方式外,其他查询请求则为非法,返回501错误。

不加密模式 加密模式
按照关键词查询
{
  "apikey": "图灵apikey(32位)",
  "data": {
    "pages":{
     "pageNumber":1,
    "pageSize":10,
    "searchBy": "测试"
    }
  }
}
按照数据id查询
{
  "apikey": "图灵apikey(32位)",
  "data": {"ids": [1,2]}
}
按照关键词查询
{
  "apikey": "图灵apikey(32位)",
  "data": {
    "pages":{
    "pageNumber":1,
    "pageSize":10,
    "searchBy": "测试"
    }
   },
  "token":"md5加密计算结果"
}
按照数据id查询
{
  "apikey": "图灵apikey(32位)",
  "data": {"ids": [1,2]} ,
  "token":"md5加密计算结果"
}
注:
(1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在“我的机器人”页中获取;
(2)采用加密模式下的token值:
     1)密钥:test123
    2)token值为md5加密计算之后的32位二进制结果
按关键词查询:
md5(data字段+密钥)= md5({"pages":{"pageNumber":1,"pageSize":10,"searchBy": "测试"}}test123)
按数据id查询:
md5(data字段+密钥)= md5({"ids": [1,2]}test123)

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 查询NLP知识库数据内容
pages 查询返回页面格式
pageNumber 页数
pageSize 每页显示行数
searchBy 查询的关键词
ids 返回知识库对应的id
token 校验字段,加密必须

(4)返回数据说明

                

{

"code": 0,

"data": {

"totalCount": 2,

"knowledgeCount": 2,

"knowledgeList": [

{

"id": "2",

"question": "测试问题2",

"answer": "新的答案2",

"time": "2015-12-03 14:34:36"

},

{

"id": "1",

"question": "测试问题1",

"answer": "新的答案1",

"time": "2015-12-03 14:34:35"

}

]

}

}

字段 说明
code 返回状态码数据
data 成功:查询数据结果列表
失败:失败原因的描述
totalCount 知识库数据总条数
knowledgeCount 返回的查询数据条数
knowledgeList 返回的数据列表
id 返回数据id
question 返回数据的问题
answer 返回数据的答案
time 数据修改时间

知识库修改

该接口为修改知识库接口,方便用户修改数据。

(1)请求接口

http://www.tuling123.com/v1/setting/updatefaq

(2)输入数据

不加密模式 加密模式
{
  "apikey":"图灵apikey(32位)",
  "data":[
    {"id":"1","question":"新的问题","answer":"新的答案1"},
    {"id":"2","question":"新的问题","answer":"新的答案2"}
  ]
}
{
  "apikey":"图灵apikey(32位)",
  "data":[
    {"id":"1","question":"新的问题","answer":"新的答案1"},
    {"id":"2","question":"新的问题","answer":"新的答案2"}
  ],
  "token":"md5加密计算结果"
}
注:
(1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在”我的机器人”页中获取;
(2)该接口用于标号为id的知识库答案改为answer所传入的字符串
    {"id":"1","answer":"新的答案1"}
    将id编码为1的数据答案改为传入的"新的答案1"
(3)采用加密模式下的token值:
    1)密钥:test123
    2)token值为md5加密计算之后的32位二进制结果
md5(data字段+密钥)=md5([{"id":"1","question":"新的问题","answer":"新的答案1"},{"id":"2","question":"新的问题","answer":"新的答案2"}]test123)

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 更改NLP知识库数据内容
id 需要更改的数据id
answer 新的答案
token 校验字段,加密必须

(4)返回数据说明

示例的返回为:{"code":0,"data":"2"}

字段 说明
code 返回状态码数据
data 成功:数据修改成功条数
失败:失败原因的描述

知识库删除

该接口为知识库删除接口,方便用户删除数据。目前支持两种数据删除形式。

1)第一种为执行清空操作,即清空知识库中的所有数据;

2)第二种为根据数据的id编号来对应删除数据,每条数据的id是唯一的;

(1)请求接口

http://www.tuling123.com/v1/setting/deletefaq

(2)输入数据(分为加密和不加密两种方式)

目前只支持两种形式的删除接口。

1)如果有"clear"的字段而且isclear的布尔值为true,则执行清空操作;

2)第二种会根据用户传过来的ids中json数组里面的id,删除对应的记录;

不加密模式 加密模式
{
  "apikey": "图灵apikey(32位)",
  "data": {"clear": {"isclear": false},"ids": [1,2,3]}
}
{
  "apikey": "图灵apikey(32位)",
   "data": {"clear": {"isclear": false},"ids": [1,2,3]},
   "token":"md5加密计算结果"
}
注:
(1)apikey为32位字符串,是图灵给予每个用户的唯一标识,用户可通过注册图灵帐号,在”机器人接入”页中获取;
(2)关于执行清空或部分删除数据操作:
  {"clear": {"isclear": false},"ids": [1,2,3]}
  该处执行的是删除id编号分别为1,2,3的三条数据
(3)采用加密模式下的token值:
    1)密钥:test123
    2)token通过以下加密方式计算得出
md5(data字段+密钥)=md5([ {"question":"测试问题1","answer":"测试答案1"},{"question":"测试问题2","answer":"测试答案2"}]test123

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 删除NLP知识库数据内容
clear 是否清空数据库
isclear 清空数据库标志位
ids 待删除的数据id编号
token 校验字段,加密必须

(4) 返回数据说明

示例的返回为:{"code":0,"data":"3"}

字段 说明
code 返回状态码数据
data 成功:数据删除成功条数
失败:失败原因的描述

修改机器人名称

该接口为修改机器人名称的接口,用户可使用该接口对机器人名称进行修改。

(1)请求接口

http://www.tuling123.com/v1/setting/setnickname

(2)输入数据

不加密模式 加密模式
{
    "apikey": "图灵apikey(32位)",
    "data": "新名称"
}
{
    "apikey": "图灵apikey(32位)",
    "data": "新名称",
    "token": "md5("新名称"test123)"
}
注:
(1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在”我的机器人”页中获取;
(2)采用加密模式下的token值:
    1)密钥:test123
    2)token值为md5加密计算之后的32位二进制结果
md5(data字段+密钥)= "token": "md5("新名称"test123)"

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 设置机器人名称
token 校验字段,加密必须

(4)输出格式说明

示例的返回为: {"code":0} 修改成功

字段 说明
code 返回状态码数据

常见问题

Q:知识库可以通过接口来实现吗?

A:目前图灵机器人对标准版、儿童版用户提供了知识库开放接口服务。通过该接口,您可以实现对私有知识库数据的增删改查,享有和官网导入知识库一样的服务。使用接口操作的数据也会和官网知识库数据保持同步(数据默认导入到该机器人帐号下的“默认知识库”中)。

是否解决了您的问题?感谢您的反馈!去图灵机器人论坛查看更多

Q:在哪里可以获取到知识库相关的接口服务?

A:目前图灵机器人对标准版、儿童版用户提供了知识库开放接口服务。如果您已拥有相关权限,即可在机器人详情页的知识库模块的知识库API接口中找到该服务。如果您还未有权限使用,可通过付费升级此机器人帐号来获取使用权限。

是否解决了您的问题?感谢您的反馈!去图灵机器人论坛查看更多

Q:知识库开放接口主要有哪些功能?

A:图灵机器人知识库开放接口提供了5个接口,包括知识库新增接口、知识库删除接口、知识库修改接口、知识库查询接口以及机器人名称修改接口,方便用户使用及管理。

是否解决了您的问题?感谢您的反馈!去图灵机器人论坛查看更多