帮助与文档 > 产品文档 > AIGC > API文档 > 有道速读
有道速读

有道速读简介

概念解释

有道速读服务有道速读服务支持快速从文档中提取、定位、汇总信息,为你一站式解决文档摘要、文档解析、文档QA方面的问题

说明

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

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

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

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

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

客服QQ:1906538062

AIGC产品技术交流群 :837394306

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

温馨提示:

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

协议须知

调用方在集成文档问答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);

有道速读接口定义

获取版本接口

  • 接口uri:/get_version
  • 接口说明:
    获取不同模型的最新版本号,不同版本号的模型生成的结果可能不同。
  • 接口参数:
字段名类型含义必填备注
qtext无实际含义,仅为了计算签名True必须是UTF-8编码
appKeytext应用IDTrue可在应用管理 查看
salttext随机字符串,可使用UUID进行生产Trueuuid (可使用uuid生成)
signtext签名Truesha256(应用ID+input+salt+curtime+应用密钥)
signTypetext签名类型Truev3
curtimetext当前UTC时间戳(秒)TrueTimeStamp
  • 响应结果示例
{
    "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"  // 当前最新的文章解读算法版本。
    }
}

pdf解析接口

  • 接口uri:/parse_pdf
  • 接口说明:
    对文档进行解析。
  • 接口参数:
字段名类型含义必填备注
qtextpdf文件的base64编码True必须是UTF-8编码
appKeytext应用IDTrue可在应用管理 查看
salttext随机字符串,可使用UUID进行生产Trueuuid (可使用uuid生成)
signtext签名Truesha256(应用ID+input+salt+curtime+应用密钥)
signTypetext签名类型Truev3
curtimetext当前UTC时间戳(秒)TrueTimeStamp
  • 响应结果
{
    "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" // 算法服务版本号
    }
}

摘要接口

  • 接口uri:/get_summary
  • 接口说明:
    对入参文本生成摘要。
  • 接口参数:
字段名类型含义必填备注
qtext准备生成摘要的文本True限制5000字符
langtext预期模型返回的语种Falsezh(默认) /en
appKeytext应用IDTrue可在应用管理 查看
salttext随机字符串,可使用UUID进行生产Trueuuid (可使用uuid生成)
signtext签名Truesha256(应用ID+input+salt+curtime+应用密钥)
signTypetext签名类型Truev3
curtimetext当前UTC时间戳(秒)TrueTimeStamp
  • 响应结果
{
    "requestId": "4c0e5494-ae63-4ce3-ba3e-b5b59fb13034",
    "errorCode": "0",
    "msg": "SUCCESS",
    "result": "" // 摘要
}

问答接口

  • 接口uri:/chat
  • 接口说明:
    对文档内容进行问答。
  • 接口参数:
字段名类型含义必填备注
qaIdtext标识一个对话窗口,同一个对话窗口中的问答历史可能影响接下来模型的回复内容True
docIdtext解析接口返回的文档IdTrue
qtext问题True长度限制2000
qaTypetext"0"-标准问答模式;"1"-解释 q 中的话,一般用于“选中原文片段要求解释”等功能False0(默认)
langtext需要模型返回的语种Falsezh(默认) /en
appKeytext应用IDTrue可在应用管理 查看
salttext随机字符串,可使用UUID进行生产Trueuuid (可使用uuid生成)
signtext签名Truesha256(应用ID+input+salt+curtime+应用密钥)
signTypetext签名类型Truev3
curtimetext当前UTC时间戳(秒)TrueTimeStamp
  • 响应结果
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
        }
    ]
}

综述接口

  • 接口uri:/get_review
  • 接口说明:
    围绕用户指定的文档,生成综述。
  • 接口参数:
字段名类型含义必填备注
docIdtext解析接口返回的文档IdTrue生成签名时的q取值为docId的取值
appKeytext应用IDTrue可在应用管理 查看
salttext随机字符串,可使用UUID进行生产Trueuuid (可使用uuid生成)
signtext签名Truesha256(应用ID+input+salt+curtime+应用密钥)
signTypetext签名类型Truev3
curtimetext当前UTC时间戳(秒)TrueTimeStamp
  • 响应结果

正常结果:

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和应用密钥等信息
109batchLog格式不正确
110无相关服务的有效应用,应用没有绑定服务。注:某些服务的结果发音需要tts服务,需要在控制台创建语音合成实例绑定应用后方能使用。
111开发者账号无效
112请求服务无效
113q不能为空
114不支持的图片传输方式
201解密失败,可能为DES,BASE64,URLDecode的错误
202签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203访问IP地址不在可访问IP列表
205请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206因为时间戳无效导致签名校验失败
207重放请求
303服务异常
405鉴权失败
DQA001q 长度超出限制
DQA002获取版本号失败
DQA003解析pdf失败
DQA004pdf文件异常
DQA005生成摘要失败
DQA006不支持的qa type
DQA007问答失败
DQA008doc id 解析异常
DQA100请求体超出限制