帮助与文档 > 产品文档 > 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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true

签名生成方法如下:
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请求idtext
result结果
+kbId知识库idtext
++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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true

签名生成方法如下:
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请求idtext
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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true
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请求idtext
result结果array
+fileId文档idtext
+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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true
url文档连接urlurl长度不超过5000字符,资源大小不超过30Mtrue

签名生成方法如下:
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请求idtext
result结果array
+fileId文档idtext
+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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true
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请求idtext
result结果array

查询知识库列表

1、接口说明:

获取所有知识库列表

2、地址:

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

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

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

3、返回结果:
参数名称描述类型
errorCode错误码text
msg描述text
requestId请求idtext
result结果array
+kbId知识库idtext
+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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true

签名生成方法如下:
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请求idtext
result结果array
+fileId文档idtext
+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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true
kbIds知识库idjson数组类型,多知识库问答true
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请求idtext
result结果
+question本轮提问text
+response本轮回答text
+history历史问答array
++question历史提问text
++response历史回答text
+source文档出处array
++fileId文档idtext
++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随机字符串建议使用UUIDtrue
sign签名信息:sha256(应用ID+input+salt+curtime+应用密钥)true
signType签名类型v3true
kbIds知识库idjson数组类型,多知识库问答true
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、返回结果:

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

参数名称描述类型
errorCode错误码text
msg描述text
requestId请求idtext
result结果
+question本轮提问text
+response本轮回答text
+history历史问答array
++question历史提问text
++response历史回答text
+source文档出处array
++fileId文档idtext
++fileName文档名称text
++content原文内容text
++source可信度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不支持的文件格式
QA10006fileId错误
QA10007url格式错误
QA10008获取url资源失败