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
温馨提示:
baseUrl: https://openapi.youdao.com
创建知识库,获取知识库id。
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | |
+kbId | 知识库id | text |
++kbName | 知识库名称 | text |
删除知识库
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 |
为知识库添加文档
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | array |
+fileId | 文档id | text |
+fileName | 文档名称 | text |
+status | 文档状态,取值见4. | text |
为知识库添加文档
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | array |
+fileId | 文档id | text |
+fileName | 文档名称 | text |
+status | 文档状态,取值见4. | text |
删除知识库中的文档
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | array |
获取所有知识库列表
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+应用密钥);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | array |
+kbId | 知识库id | text |
+kbName | 知识库名称 | text |
查询知识库文档列表
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);
参数名称 | 描述 | 类型 |
---|---|---|
errorCode | 错误码 | text |
msg | 描述 | text |
requestId | 请求id | text |
result | 结果 | array |
+fileId | 文档id | text |
+fileName | 文档名称 | text |
+status | 文档状态,取值见4. | text |
知识库问答对话, 一次性返回对话结果
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);
参数名称 | 描述 | 类型 |
---|---|---|
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 |
知识库问答对话, text/event-stream流式返回回答内容
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);
中间过程只有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 |
状态码 | 含义 |
---|---|
0 | 上传完成 |
1 | 解析完成(可以参与问答) |
2 | 解析失败 |
3 | 上传文件大小超过限制 |
服务名称 | 使用限制 |
---|---|
文档可用空间 | 5G |
知识库使用上限 | 100个 |
错误码 | 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资源失败 |