有道速读服务有道速读服务支持快速从文档中提取、定位、汇总信息,为你一站式解决文档摘要、文档解析、文档QA方面的问题
Hi,您好,欢迎使用有道智云有道速读接口服务。
本文档主要针对需要集成HTTP API的技术开发工程师,详细描述有道速读能力相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
AIGC产品技术交流群 :837394306
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
调用方在集成文档问答API时,请遵循以下规则。
规则 | 描述 |
---|---|
传输方式 | HTTPS |
请求方式 | POST |
字符编码 | 统一使用UTF-8 编码 |
请求格式 | 表单 |
响应格式 | json 或者 text/event-stream |
有道速读线上调用地址:
https://openapi.youdao.com/document_qa
超时时间设置范围 |
---|
请根据文档的篇幅合理设置超时时间,避免造成模型处理过程中出现超时错误。 |
注意:
签名生成方法如下:
signType=v3;
sign=sha256(应用ID+input+salt+curtime+应用密钥);
其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
q | text | 无实际含义,仅为了计算签名 | True | 必须是UTF-8编码 |
appKey | text | 应用ID | True | 可在应用管理 查看 |
salt | text | 随机字符串,可使用UUID进行生产 | True | uuid (可使用uuid生成) |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | True | TimeStamp |
{
"requestId": "38c7d97c-affe-43cb-be80-2ce86c279116",
"errorCode": "0",
"msg": "SUCCESS",
"result": {
"reputation_service_version": "0.0.14_20231225_dev3", // 当前最新的论文口碑算法版本。
"parse_service_version": "1.0.16_20240131", // 当前最新的 PDF 解析算法版本。
"survey_service_version": "v0.1.2", // 当前最新的自动综述算法版本。
"analyze_service_version": "0.0.3_20240112_dev2" // 当前最新的文章解读算法版本。
}
}
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
q | text | pdf文件的base64编码 | True | 必须是UTF-8编码 |
appKey | text | 应用ID | True | 可在应用管理 查看 |
salt | text | 随机字符串,可使用UUID进行生产 | True | uuid (可使用uuid生成) |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | True | TimeStamp |
{
"requestId": "b470ab36-e7ea-44e8-93bd-0b3830f6aac7",
"errorCode": "0",
"msg": "SUCCESS",
"result": {
"doc_id": "/RD4Jb29sEEmggjkDYWU8QuqZZ4vKUpwJGwvML12PgnAvJZqDL5kMapKmeDk3eg/", // pdf文档的唯一标识,后续问答、综述接口的请求参数之一。
"generated_questions": "", // 自动生成的推荐问题,每行一个问题。
"whole_doc_summary": null, // 保留字段,暂不使用。
"chunks_json": [ // 文档解析结果
{
"summary": {}, // 保留字段,暂不使用
"page_ids": [ // 标识当前chunk跨了哪些页
0
],
"locations": [ // 每个元素是一个block
{
"page_id": 0,
"page_w": "612",
"bbox": "74,114,462,37",
"lines": [ // 各行文字的bbox
{
"line_text": "On the (in)consistency of perturbation theory at finite ",
"line_fontsize": 17,
"line_bbox": "74,114,462,15"
},
{
"line_text": "temperature ",
"line_fontsize": 17,
"line_bbox": "253,136,104,15"
}
],
"page_h": "792"
}
],
"summary_status": 0, // 0-无需摘要(对于title和hi类型的chunk取值为0); 1-需要请求摘要接口生成摘要(对于normal类型的chunk取值为1);
"text": "On the (in)consistency of perturbation theory at finite temperature ", // 当前chunk对应的文本内容
"chunk_id": "0", // chunk id
"chunk_type": "title" // 当前chunk对应的文本类型, 取值:title-大标题; h1-小标题; normal-正文;
}
],
"doc_page_num": "21", // pdf 文档总页数 计费使用该字段
"parse_service_version": "1.0.16_20240131" // 算法服务版本号
}
}
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
q | text | 准备生成摘要的文本 | True | 限制5000字符 |
lang | text | 预期模型返回的语种 | False | zh(默认) /en |
appKey | text | 应用ID | True | 可在应用管理 查看 |
salt | text | 随机字符串,可使用UUID进行生产 | True | uuid (可使用uuid生成) |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | True | TimeStamp |
{
"requestId": "4c0e5494-ae63-4ce3-ba3e-b5b59fb13034",
"errorCode": "0",
"msg": "SUCCESS",
"result": "" // 摘要
}
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
qaId | text | 标识一个对话窗口,同一个对话窗口中的问答历史可能影响接下来模型的回复内容 | True | |
docId | text | 解析接口返回的文档Id | True | |
q | text | 问题 | True | 长度限制2000 |
qaType | text | "0"-标准问答模式;"1"-解释 q 中的话,一般用于“选中原文片段要求解释”等功能 | False | 0(默认) |
lang | text | 需要模型返回的语种 | False | zh(默认) /en |
appKey | text | 应用ID | True | 可在应用管理 查看 |
salt | text | 随机字符串,可使用UUID进行生产 | True | uuid (可使用uuid生成) |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | True | TimeStamp |
event:request info
data: {
"requestId": "7ebb17fb-53c9-4da1-9024-3e1021fc60a0",
"docId": "/RD4Jb29sEEmggjkDYWU8QuqZZ4vKUpwJGwvML12PgnAvJZqDL5kMapKmeDk3eg/",
"qaId": "6a20b56a-6d18-45d7-9f71-fa03c9eb6d20"
}
data: {
"content": "是"
}
data: {
"content": "的"
}
// 省略其他data
event:docsrc // 倒数第二条消息
data: {
"sources": [
{
"chunk_id": "27",
"page_id": 12
}
]
}
event:end // 表示是最后一条消息
data: {
"message": "Connection closed",
"sources": [ // 当前信息的来源
{
"chunk_id": "27",
"page_id": 12
}
]
}
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
docId | text | 解析接口返回的文档Id | True | 生成签名时的q取值为docId的取值 |
appKey | text | 应用ID | True | 可在应用管理 查看 |
salt | text | 随机字符串,可使用UUID进行生产 | True | uuid (可使用uuid生成) |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | True | TimeStamp |
正常结果:
event:request info
data:{requestId='4897756f-015d-4725-a717-f7829bb0babf', docId='/RD4Jb29sEEmggjkDYWU8QuqZZ4vKUpwJGwvML12PgnAvJZqDL5kMapKmeDk3eg/', qaId='null'}
event:stream // 一堆 event = stream 的片段,其 data 都是 json
data:{"content": "# Introduction\n\nPerturbation theory, finite temperature, quantum field theory, and propagators are fundamental concepts in theoretical physics. "}
// 省略其他的 event stream
event:finished // 一条 event = finished 的片段,其 data 也是 json,json 的content 字段是完整的自动综述内容全文.这个片段中,包含了model_version字段,用以表明当前论文自动综述的算法版本号。
data:{"content": "# 1. Introduction\n\nPerturbation theory, finite temperature, quantum field theory, and propagators are fundamental concepts in theoretical physics. "}
event:end // 一条 event = end 的片段,其内容为 {"message": "Connection closed"}。
data:{"message": "Connection closed"}
异常结果:
当请求的文档不是论文时,会只返回一条 event = end 的消息:
event:end
data:{"message": "Connection closed"}
状态码 | 状态码含义 |
---|---|
101 | 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。 |
102 | 不支持的语言类型 |
103 | 翻译文本过长 |
104 | 不支持的API类型 |
105 | 不支持的签名类型 |
106 | 不支持的响应类型 |
107 | 不支持的传输加密类型 |
108 | 应用ID无效,注册账号,登录后台创建应用并完成绑定,可获得应用ID和应用密钥等信息 |
109 | batchLog格式不正确 |
110 | 无相关服务的有效应用,应用没有绑定服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。 |
111 | 开发者账号无效 |
112 | 请求服务无效 |
113 | q不能为空 |
114 | 不支持的图片传输方式 |
201 | 解密失败,可能为DES,BASE64,URLDecode的错误 |
202 | 签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码. |
203 | 访问IP地址不在可访问IP列表 |
205 | 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南 |
206 | 因为时间戳无效导致签名校验失败 |
207 | 重放请求 |
303 | 服务异常 |
405 | 鉴权失败 |
DQA001 | q 长度超出限制 |
DQA002 | 获取版本号失败 |
DQA003 | 解析pdf失败 |
DQA004 | pdf文件异常 |
DQA005 | 生成摘要失败 |
DQA006 | 不支持的qa type |
DQA007 | 问答失败 |
DQA008 | doc id 解析异常 |
DQA100 | 请求体超出限制 |