帮助与文档 > 产品文档 > AIGC > API文档 > Qanything
Qanything

qanything简介

概念解释

qanything可以实现文档知识库问答,采用网页爬虫/文档解析等技术,生成专属您的个人知识库!读、查、问、写一站实现。为您提供快速、精准、高效的文档处理与知识管理体验。

访问 https://read.youdao.com/qanything/#/home 可视化配置管理知识库。

说明

Hi,您好,欢迎使用有道智云qanything接口服务。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描 述qanything能力相关的技术内容。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服QQ:1906538062

AIGC产品技术交流群 :837394306

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

  • 本文档主要针对开发人员,接入测试前需要获取应用ID和应用密钥,并创建应用;如果您还没有,请按照 新手指南 获取。
  • 平台向每个账户赠送50元的体验金,供用户集成前测试所用。

接口调用参数

请求地址

baseUrl: https://openapi.youdao.com

知识库管理

创建知识库

1、接口说明:

创建知识库,获取知识库id。

2、地址:

baseUrl + /q_anything/paas/create_kb 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) 可在应用管理 查看 true
curtime 时间戳(秒) 当前UTC时间戳(秒) true
q 知识库名称 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果
+kbId 知识库id text
++kbName 知识库名称 text

删除知识库

1、接口说明:

删除知识库

2、地址:

baseUrl + /q_anything/paas/delete_kb 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 知识库id 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果

上传文档(文件)

1、接口说明:

为知识库添加文档

2、地址:

baseUrl + /q_anything/paas/upload_file 请求方式: POST Content-Type: multipart/form-data

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 知识库id (kbid) 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true
file 文档文件 图片大小不超过5M,文档大小不超过30M。该字段可存在多个,即批量文档上传 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果 array
+fileId 文档id text
+fileName 文档名称 text
+status 文档状态,取值见4. text

上传文档连接(url)

1、接口说明:

为知识库添加文档

2、地址:

baseUrl + /q_anything/paas/upload_url 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 知识库id (kbid) 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true
url 文档连接url url长度不超过5000字符,资源大小不超过30M true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果 array
+fileId 文档id text
+fileName 文档名称 text
+status 文档状态,取值见4. text

删除文档

1、接口说明:

删除知识库中的文档

2、地址:

baseUrl + /q_anything/paas/delete_file 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 知识库id (kbid) 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true
fileIds 需要删除的文档id(fileId) json数组形式,例:[XXX,XXX] true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果 array

查询知识库列表

1、接口说明:

获取所有知识库列表

2、地址:

baseUrl + /q_anything/paas/kb_list 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+salt+curtime+应用密钥);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果 array
+kbId 知识库id text
+kbName 知识库名称 text

查询知识库文档列表

1、接口说明:

查询知识库文档列表

2、地址:

baseUrl + /q_anything/paas/file_list 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 知识库id (kbid) 长度不超过100字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果 array
+fileId 文档id text
+fileName 文档名称 text
+status 文档状态,取值见4. text

知识库问答

知识库问答(onetime)

1、接口说明:

知识库问答对话, 一次性返回对话结果

2、地址:

baseUrl + /q_anything/paas/chat 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 提问内容 长度不超过200字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true
kbIds 知识库id json数组类型,多知识库问答 true
prompt 请求prompt 不超过500字符 false
history 对话历史 json数组类型,最多支持两轮对话历史消息 false
+question 历史提问(历史发送的q) true
+response 历史回答(模型发送的历史response) true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:
参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果
+question 本轮提问 text
+response 本轮回答 text
+history 历史问答 array
++question 历史提问 text
++response 历史回答 text
+source 文档出处 array
++fileId 文档id text
++fileName 文档名称 text
++content 原文内容 text
++source 可信度 text

知识库问答(stream)

1、接口说明:

知识库问答对话, text/event-stream流式返回回答内容

2、地址:

baseUrl + /q_anything/paas/chat_stream 请求方式: POST Content-Type: application/json

字段名 含义 备注 必填
appKey 应用标识(应用 ID) true
curtime 时间戳(秒) true
q 提问内容 长度不超过200字符 true
salt 随机字符串 建议使用UUID true
sign 签名信息:sha256(应用ID+input+salt+curtime+应用密钥) true
signType 签名类型 v3 true
kbIds 知识库id json数组类型,多知识库问答 true
history 对话历史 json数组类型,最多支持两轮对话历史消息 false
prompt 请求prompt 不超过500字符 false
+question 历史提问(历史发送的q) true
+response 历史回答(模型发送的历史response) true

签名生成方法如下: signType=v3; sign=sha256(应用ID+input+salt+curtime+应用密钥); 其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

3、返回结果:

中间过程只有source字段的content有值, 其余字段的信息在最终分片返回。

参数名称 描述 类型
errorCode 错误码 text
msg 描述 text
requestId 请求id text
result 结果
+question 本轮提问 text
+response 本轮回答 text
+history 历史问答 array
++question 历史提问 text
++response 历史回答 text
+source 文档出处 array
++fileId 文档id text
++fileName 文档名称 text
++content 原文内容 text
++score 可信度,取值范围(0-1) text

文档状态说明(status)

状态码 含义
0 上传完成
1 解析完成(可以参与问答)
2 解析失败
3 上传文件大小超过限制

服务配置

服务名称 使用限制
文档可用空间 5G
知识库使用上限 100个

常用语言 Demo

Java 示例

Qanything Java demo

Python3 示例

Qanything python3 demo

go示例

Qanything go demo

错误码

错误码 msg
101 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
104 不支持的API类型
105 不支持的签名类型
106 不支持的响应类型
110 无相关服务的有效应用,应用没有绑定服务,可以新建服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111 开发者账号无效
202 签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203 访问IP地址不在可访问IP列表
205 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206 因为时间戳无效导致签名校验失败
207 重放请求
303 服务端的其它异常
401 账户已经欠费停
405 鉴权失败
QA10001 请求api失败
QA10002 知识库id错误
QA10003 文件上传额度超限, 默认文件总大小不超过5G,知识库创建总数100个
QA10004 文件上传过大
QA10005 不支持的文件格式
QA10006 fileId错误
QA10007 url格式错误
QA10008 获取url资源失败