注册 登录
返回上一页>> 语料库开放API

产品概述

简介

图灵机器人除了为广大用户提供免费的 API 接口,也开放了一些高级 API 接口来满足 更多用户的使用需求。图灵机器人语料库接口暂时对标准版和儿童版用户开放,目前开放了 语料库相关的 6 个接口(语料库匹配度设置、语料库加密模式设置、语料库新增、删除、 修改、查询)。

产品特色

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

功能介绍

图灵机器人语料库开放 API 提供了 6 个开放权限服务,包括语料库匹配度设置、加密模式设置、语料库新增、语料库删除、语料库修改、语料库查询。

应用场景

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

使用说明

购买须知

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

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

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

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

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

安全

安全模式开启

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

安全模式说明

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

(1)token值的计算

token = md5(secret+timestamp)

示例中,密钥为test123

注:secret在机器人语料库页面加密模式设置,timestamp为客户端当前时间戳

(2)示例

以导入语料库为例

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

不加密模式 加密模式
{
  "apikey":"图灵apikey(32位)",
  "data":{
   "async":false,
   "list":[
    {"question":"测试问题1","answer":"测试答案1"},
    {"question":"测试问题2","answer":"测试答案2"}
   ]
  }
}
{
  "apikey":"图灵apikey(32位)",
  "data":{
   "async":false,
   "list":[
    {"question":"测试问题1","answer":"测试答案1"},
    {"question":"测试问题2","answer":"测试答案2"}
   ]
  },
  "timestamp":timestamp,
  "token":md5(secret+timestamp)
}
注:
  (1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在“我的机器人”页中获取;
  (2)secret在机器人语料库开启加密模式后可设置
    1)密钥:test123
    2)token通过以下加密方式计算得出
    md5(密钥+时间戳) = md5(test123+1515051846288)

接口

图灵机器人语料库接口目前对标准版和儿童版用户开放了6个接口,其中包括语料库匹配度设置、加密模式设置、语料库新增、语料库删除、语料库修改、语料库查询。

请求方式

使用接口时,请求包体为JSON 格式(指定 header :Content-Type 为 application/json)

数据格式

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

返回状态码

返回状态码如下表所示:

code 说明
0 请求成功
3** 操作错误
301 缺少必要参数、参数格式错误
4** 权限错误
401 apikey 不存在或者不具有权限
403 帐号上传权限已经用尽
405 帐号开启安全模式,token校验失败
5** json请求的内容有误

语料库新增

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

(1) 请求接口

http://www.tuling123.com/v1/kb/import

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

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

(3) 输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 添加NLP语料库内容
async 是否异步处理(true=异步,false=同步)
异步只返回成功数量,不返回具体数据
list 问题列表
question 添加数据问题
answer 添加数据答案
simiQuestion 新增相似问题
timestamp 客户端时间戳
token 校验字段,加密必须

4) 返回数据说明

示例的返回为:{"code":0,"successNum": 1}

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

语料库查询

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

(1)请求接口

http://www.tuling123.com/v1/kb/select

(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": "测试"
    }
   },
  "timestamp":timestamp,
  "token":md5(secret+timestamp)
}
按照数据id查询
{
  "apikey": "图灵apikey(32位)",
  "data": {"ids": [1,2]} ,
  "timestamp":timestamp,
  "token":md5(secret+timestamp)
}
注:
(1)apikey为32位字符串,是图灵给予每个机器人的唯一标识,用户可通过注册图灵帐号,在“我的机器人”页中获取;
(2)secret在机器人语料库开启加密模式后可设置
     1)密钥:test123
    2)token值为md5加密计算之后的32位二进制结果
按关键词查询:
md5(密钥+时间戳)= md5(test123+1515051846288)
按数据id查询:
md5(密钥+时间戳)= md5(test123+1515051846288)

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 查询NLP语料库数据内容
pages 查询返回页面格式
pageNumber 页数
pageSize 每页显示行数
searchBy 查询的关键词
ids 返回语料库对应的id。注:[1,2,3]
timestamp 客户端时间戳
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/kb/update

(2)输入数据

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

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 更改NLP语料库数据内容
async 是否异步处理(true=异步,false=同步)
异步只返回成功数量,不返回具体数据
list 问题列表
id 需要更改的数据id
answer 新的答案
timestamp 客户端时间戳
token 校验字段,加密必须

(4)返回数据说明

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

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

语料库删除

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

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

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

(1)请求接口

http://www.tuling123.com/v1/kb/delete

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

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

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

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

不加密模式 加密模式
{
  "apikey": "图灵apikey(32位)",
  "data": {"clear": false,"ids": [1,2,3]}
}
{
  "apikey": "图灵apikey(32位)",
   "data": {"clear": false,"ids": [1,2,3]},
   "timestamp":timestamp,
   "token":md5(secret+timestamp)
}
注:
(1)apikey为32位字符串,是图灵给予每个用户的唯一标识,用户可通过注册图灵帐号,在”机器人接入”页中获取;
(2)关于执行清空或部分删除数据操作:
  {"clear": false,"ids": [1,2,3]}
  该处执行的是删除id编号分别为1,2,3的三条数据
  {"clear": true}
  该处执行的是清空所有数据
(3)采用加密模式下的token值:
    1)密钥:test123
    2)token:md5(secret+timestamp)
md5(密钥+时间戳)=md5(test123+1515051846288)

(3)输入数据说明

参数名称 参数内容
apikey 图灵apikey,注册帐号即可获取
data 删除NLP语料库数据内容
clear 是否清空数据库
ids 待删除的数据id编号
timestamp 客户端时间戳
token 校验字段,加密必须

(4) 返回数据说明

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

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

其他接口

其他接口说明请下载《语料库接口开发文档》

常见问题

Q:语料库可以通过接口来实现吗?

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

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

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

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

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

Q:语料库开放接口主要有哪些功能?

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

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