大模型时代下的文档智能 | 文档解析(大模型版)

本文涉及的产品
.cn 域名,1个 12个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 文档智能(Document Mind)是基于阿里巴巴达摩院技术打造的多模态文档识别与理解引擎,提供通用文档智能、行业文档智能和文档自学习能力,满足各类智能文档处理需求。尤其在企业中,它能有效处理文本、图片、扫描件等多种非结构化文档,释放数据价值。本文将介绍文档智能的应用场景、产品架构及其核心功能——文档解析(大模型版),并展示其在线体验与API接口调用方法。

对于文档智能这款产品,没有听过或者没有接触过、没有用过的小伙伴可能不太能猜到这样一款产品具体是做什么用的,那么下面先来从日常工作入手来简单引入一下文档智能的应用场景。

为什么有文档智能

文档智能,用官方的描述就是:【文档智能(Document Mind),基于阿里巴巴达摩院多年技术积累打造的多模态文档识别与理解引擎,为用户提供通用文档智能、行业文档智能和文档自学习能力,可满足各种场景下的智能文档处理需求。

看了官方的描述,是不是对于文档智能有了一个大概的理解,主要是文档识别和理解这样的。其实在企业中,文档智能能发挥着重大的作用。【企业数据大多数都以文本、图片、扫描件、电子表格、在线文档、邮件等文档的形式存在,难以流通和处理,大量有价值的信息都被锁定在非结构化的文档中,无法充分发挥出数据价值。】这样是不是就对文档智能的认识更深刻了,下面我再来继续看看文档智能的产品架构。

产品架构

文档智能平台以非结构化文档为输入,依托文档智能预训练技术和产品,输出处理后的结构化数据。

image.png

产品能力

目前的文档智能主要包括两个方向的产品能力:【通用文档智能产品】、【文档自学习】产品,这里我们主要说的是通用文档智能产品能力。而通用文档智能产品能力又包括了:文档理解文档格式转换。详细的产品能力可以在文档智能控制台:https://docmind.console.aliyun.com/doc-overview  看到

image.png

过去我也体验过,用过文档智能产品能力,对于文档理解和文档格式转换的使用效果还是比较满意的。今天我们的测评主角主要是 【文档解析(大模型版)】,那么对于【文档解析(大模型版)我也是比较疑问,这个产品能力该用在哪儿呢?

文档解析(大模型版)

最初看到文档解析(大模型版),其实不太能理解这个产品能力的应用场景。基于现在的文档智能的通用文档理解来看,现有的几个能力场景足够应付日常的工作所需,为什么还要继续研发一款 文档解析(大模型版)) 这样一款产品能力,于是我查阅了文档,通过文档我找到了 文档解析(大模型版)与另外两个文档解析能力的区别

image.png

image.png

从支持格式上来说,文档解析(大模型版)涵盖市面上绝大多数格式文档,是另外两种文档解析产品能力的【加和】;从输出上来说,比另外两种文档解析产品能力的输出更强大,整体上来说就是对于文档解析功能更全面,效果更好,速度更快。过去你使用文档解析能力时,可能需要根据具体的文档格式或者识别速度方面因素来考虑选择哪一个文档解析能力,但是现在你可以不再纠结,直接选择 文档解析(大模型版)即可,无需选择,无脑用即可,这样对于客户的使用体验上是不是就更亲和了呢?

在线体验

文档智能控制台对于目前支持的文档解析产品能力都提供了对应的在线体验功能,那么对于文档解析应用场景,你可以直接闭眼选择【文档解析(大模型版),不用在根据文件格式来区分选择 【电子文档解析】 或者 【文档智能解析】了。过去你需要解析 图片格式的文档,那么你只能选择【文档智能解析】,或者你需要解析 excel 格式文档你只能选择【电子文档解析】。那么现在,不管你是什么格式文档,你都可以不用考虑直接选择 文档解析(大模型版)】。下面先来再先体验一下,登录控制台:https://docmind.console.aliyun.com/doc-overview  点击选择 【文档解析(大模型版)

image.png

这里我先上传一个图片看一下识别文档解析效果,点击【上传文档】,上传图片格式文档,

image.png

点击【确定】可以看到,在左侧已经我上传的图片内容直接解析为可复制文本内容,右侧将图片内容解析为JSON格式

image.png

同样的操作流程,我再体验一下 excel 文档的智能解析效果,点击【上传文档】选择需要解析的 excel 文档,

image.png

点击【确定】后同样可以在左侧看到直接解析后的可复制的excel 表格内容以及右侧返回对应的JSON格式内容

image.png

API接口调用

在体验了在线文档智能解析之后,想要接入项目怎么办?那么你可以通过API接口调用的方式进行操作。

添加依赖

开始调用API接口之前,你需要配置好Java SDK环境,Java版本要求Java 8及以上,在Maven项目的pom.xml文件中添加如下依赖

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>tea-openapi</artifactId>
        <version>0.2.5</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>docmind_api20220711</artifactId>
        <version>2.0.0</version>
    </dependency>
</dependencies> 

身份认证

在添加依赖的同时,需要在阿里云平台配置身份认证信息,首先创建AccessKey,然后在项目中通过安全的方式配置AccessKey ID和AccessKey Secret,同时在Maven 配置文件 pom.xml中添加如下依赖

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>credentials-java</artifactId>
    <version>0.2.11</version>
</dependency>

其他详细的接入操作你也可以直接参考官方提供的文档,文档中描述的很详细,按照步骤一步一步来就可以了,文档地址:https://help.aliyun.com/zh/document-mind/developer-reference/api-overview

那么具体的接口调用怎么操作呢,文档中对于每个接口的具体操作以及示例代码都给出了详细的说明,比如我们今天的主角 【文档解析(大模型版)】API接口,如何操作呢,请往下看。。。

示例代码

【文档解析(大模型版)】接口调用属于异步调用,根据入参文件的来源不同,分为本地文件和URL文件两种方式,不同的方式调用不同的接口。

URL上传的异步提交服务接口为:SubmitDocParserJob接口。

本地文件上传的异步提交服务接口为:SubmitDocParserJobAdvance接口。

image.png

其中,对于本地文档上传调用方式的请求示例代码,调用submitDocStructureJobAdvance接口,通过fileUrlObject参数实现本地文档上传,参考代码:

import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;
import com.aliyun.teautil.models.RuntimeOptions;
import java.io.File;
import java.io.FileInputStream;

public static void submit() throws Exception {
    // 使用默认凭证初始化Credentials Client。
    com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
    Config config = new Config()
        // 通过credentials获取配置中的AccessKey ID
        .setAccessKeyId(credentialClient.getAccessKeyId())
        // 通过credentials获取配置中的AccessKey Secret
        .setAccessKeySecret(credentialClient.getAccessKeySecret());
    // 访问的域名,支持ipv4和ipv6两种方式,ipv6请使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    Client client = new Client(config);
    // 创建RuntimeObject实例并设置运行参数
    RuntimeOptions runtime = new RuntimeOptions();
    SubmitDocParserJobAdvanceRequest advanceRequest = new SubmitDocParserJobAdvanceRequest();
    File file = new File("D:\\example.pdf");
    advanceRequest.fileUrlObject = new FileInputStream(file);
    advanceRequest.fileName = "example.pdf";
    // 发起请求并处理应答或异常。
    SubmitDocParserJobResponse response = client.submitDocParserJobAdvance(advanceRequest, runtime);
}

对于传入文档URL调用方式的请求示例代码如下,调用SubmitDocParserJob接口,通过fileUrl参数实现传入文档URL,参考代码如下:

import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;

public static void submit() throws Exception {
    // 使用默认凭证初始化Credentials Client。
    com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
    Config config = new Config()
        // 通过credentials获取配置中的AccessKey ID
        .setAccessKeyId(credentialClient.getAccessKeyId())
        // 通过credentials获取配置中的AccessKey Secret
        .setAccessKeySecret(credentialClient.getAccessKeySecret());
    // 访问的域名,支持ipv4和ipv6两种方式,ipv6请使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    Client client = new Client(config);
    SubmitDocParserJobRequest request = new SubmitDocParserJobRequest();
    request.fileName = "example.pdf";
    request.fileUrl = "https://example.com/example.pdf";
    SubmitDocParserJobResponse response = client.submitDocParserJob(request);
}

根据请求任务接口返回的业务单号 Id 来进行后面调用获取异步任务接口 QueryDocParserStatus接口,查询status状态和numberOfSuccessfulParsing已处理块,接口请求参数

image.png

接口调用示例代码如下

import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;

public static void submit() throws Exception {
    // 使用默认凭证初始化Credentials Client。
    com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
    Config config = new Config()
        // 通过credentials获取配置中的AccessKey ID
        .setAccessKeyId(credentialClient.getAccessKeyId())
        // 通过credentials获取配置中的AccessKey Secret
        .setAccessKeySecret(credentialClient.getAccessKeySecret());
    // 访问的域名,支持ipv4和ipv6两种方式,ipv6请使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    Client client = new Client(config);
    QueryDocParserStatusRequest resultRequest = new QueryDocParserStatusRequest();
    resultRequest.id = "docmind-20220902-824b****";
    QueryDocParserStatusResponse response = client.queryDocParserStatus(resultRequest);
}

最后根据接口调用的返回状态 Status  处理成功来决定是否调用获取结果服务GetDocParserResult接口,接口请求参数如下

image.png

接口调用的示例代码可以参考如下

import com.aliyun.docmind_api20220711.models.*;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.docmind_api20220711.Client;

public static void submit() throws Exception {
    // 使用默认凭证初始化Credentials Client。
    com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
    Config config = new Config()
        // 通过credentials获取配置中的AccessKey ID
        .setAccessKeyId(credentialClient.getAccessKeyId())
        // 通过credentials获取配置中的AccessKey Secret
        .setAccessKeySecret(credentialClient.getAccessKeySecret());
    // 访问的域名,支持ipv4和ipv6两种方式,ipv6请使用docmind-api-dualstack.cn-hangzhou.aliyuncs.com
    config.endpoint = "docmind-api.cn-hangzhou.aliyuncs.com";
    Client client = new Client(config);
    GetDocParserResultRequest resultRequest = new GetDocParserResultRequest();
    resultRequest.id = "docmind-20220902-824b****";
    resultRequest.layoutStepSize = 10;
    resultRequest.layoutNum = 0;
    GetDocParserResultResponse response = client.getDocParserResult(resultRequest);
}

接口请求成功之后你就可以看到你获取的结果,结果以 JSON的格式返回

image.png

关于接口中涉及到的返回数据的字段解释说明等信息你可以直接参考官方接口文档:https://help.aliyun.com/zh/document-mind/developer-reference/document-parsing-large-model-version  文档中对于接口的调用请求参数,返回参数,示例代码等都有详细的说明,你可以放心参考调用。


资源使用情况

对于初次开通文档智能的用户来说,你可以点击控制台菜单的【服务管理与开通】查看你当前账户对应不同文档理解服务下的免费调用次数的使用情况,

image.png

或者你也可以点击【监控统计】来查看当前或者一段时间内的文档智能产品能力的使用情况,通过筛选条件选择不同服务及时间段,查询指定服务指定时间段下的调用次数情况

image.png

体验总结

关于文档智能的文档解析(大模型版)的体验到这里就结束了,本文主要从在线体验效果分析以及API接口调用接入文档方面进行体验测试,整个测试流程比较流畅,目前可以支持小白新手入手接入,在实际的接入过程中,也没有出现意料之外的异常,便于提升接入效率。

在体验过程中是否得到足的产品内引导以及文档帮助?

在体验过程中,对于文档智能的文档解析(大模型版)的控制台体验可以不用产品引导或者文档就可以轻松掌握在线操作,对于API接口的调用,官方提供的文档中也详细介绍了接口请求参数,返回参数以及示例代码等信息,方便开发者接入的同时也降低了对于新接入文档智能产品的学习成本,考虑的比较全面,赞赞赞。

产品功能是否满足预期?

产品的功能方面,我这边主要是在控制台体验,上传文档后的识别结果毫秒级返回,根本感受不到文档智能解析的延时。对于代码接入这一块,目前暂时没有相应的业务需要,因此并没有测这一块的功能和性能。不过根据在线体验的结果以及文档中的示例代码来看,功能方面和性能方面应能轻松满足预期效果,不会有大的差异。

针对大模型建设的场景,有哪些可以改进的地方?

对于当前体验的产品文档智能本身来说,大模型建设场景目前已经足够用了,并不需要再投入更多的力量来进行完善。文档智能本身的应用场景主要是为了提升文档处理效率,那么只要在文档解析识别准确率上以及文档格式转化这两个方面保证足够高的准确率就可以了。

文档解析-大模型版是否有与其他产品联动组合的可能?

当然有产品联动组合的可能,在回答这个问题之前,首先要理解一下文档智能产品产生的背景。【企业数据大多数都以文本、图片、扫描件、电子表格、在线文档、邮件等文档的形式存在,难以流通和处理,大量有价值的信息都被锁定在非结构化的文档中,无法充分发挥出数据价值。】那么有了文档智能之后,企业的各种文档形式的数据就可以进行识别、处理、整理,那么基于这些数据的识别整理主要还是要用于后续的数据分析,也只有参与了数据分析的原始数据才有价值,而不是说将企业各种形式文档识别之后就放置不理,因此可以和数据分析产品进行联动,从现有的文档识别内容中筛选出需要的或者有历史意义的内容。



相关文章
|
6天前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
37 3
|
15天前
|
人工智能 JSON API
阿里云文档智能 & RAG解决方案:提升AI大模型业务理解与应用
阿里云推出的文档智能 & RAG解决方案,旨在通过先进的文档解析技术和检索增强生成(RAG)方法,显著提升人工智能大模型在业务场景中的应用效果。该方案通过文档智能(Document Mind)技术将非结构化文档内容转换为结构化数据,提取文档的层级树、样式和版面信息,并输出为Markdown和Json格式,为RAG提供语义分块策略。这一过程不仅解决了文档内容解析错误和切块丢失语义信息的问题,还优化了输出LLM友好的Markdown信息。方案的优势在于其多格式支持能力,能够处理包括Office文档、PDF、Html、图片在内的主流文件类型,返回文档的样式、版面信息和层级树结构。
75 2
|
19天前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
58 6
|
29天前
|
机器学习/深度学习 数据采集 人工智能
文档智能 & RAG 让AI大模型更懂业务 —— 阿里云LLM知识库解决方案评测
随着数字化转型的深入,企业对文档管理和知识提取的需求日益增长。阿里云推出的文档智能 & RAG(Retrieval-Augmented Generation)解决方案,通过高效的内容清洗、向量化处理、精准的问答召回和灵活的Prompt设计,帮助企业构建强大的LLM知识库,显著提升企业级文档管理的效率和准确性。
|
22天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3966 5
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
12天前
|
人工智能 JSON 自然语言处理
基于文档智能&RAG搭建更懂业务的AI大模型
本文介绍了一种结合文档智能和检索增强生成(RAG)技术,构建强大LLM知识库的方法。通过清洗文档内容、向量化处理和特定Prompt,提供足够的上下文信息,实现对企业级文档的智能问答。文档智能(Document Mind)能够高效解析多种文档格式,确保语义的连贯性和准确性。整个部署过程简单快捷,适合处理复杂的企业文档,提升信息提取和利用效率。
|
29天前
|
人工智能 自然语言处理 数据挖掘
文档智能 & RAG让AI大模型更懂业务
《文档智能 & RAG让AI大模型更懂业务》解决方案基于阿里云的文档智能解析与检索增强生成技术,实现非结构化文档向结构化信息的转化,提升AI在特定领域问答的能力。方案提供了详尽的部署指南,包括文档处理、知识库构建等步骤,确保新手也能轻松上手。部署体验良好,未遇重大问题,但建议增加故障排除指南。体验中,LLM知识库展现出高准确率和响应速度,尤其适合处理专业查询。该方案适用于客户服务、知识管理和数据分析等场景,满足生产环境需求,但对于小型企业需考虑成本效益。建议阿里云提供多规模解决方案及定制化选项,以适应不同需求。
71 10
|
23天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
24天前
|
数据采集 人工智能 自然语言处理
文档智能 & RAG让AI大模型更懂业务
文档智能 & RAG让AI大模型更懂业务
|
30天前
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。

推荐镜像

更多