100页2秒?我们为什么需要这样的文档解析速度

近期,TextIn通用文档解析完成最新一版产品迭代,将100页文档解析速度提升至最快2秒以内

P50(百页)

P90(百页)

P95(百页)

P99(百页)

平均(单页)

TextIn

1.46s

1.75s

2.07s

2.62s

0.015s

表格中“P50”代表中位数响应时间。这意味着在所有测试样本中,有一半的响应时间低于P50值,而另一半高于这个值。同理,“P90”代表90th percentile(90百分位)的响应时间。在本次性能测试中,这表示90%的文档解析操作都在1.75秒以内完成,这也是大部份用户获得的使用体验。

发版后,有用户在技术交流群和我们探讨了C端使用感受,在认可产品使用体验的同时,他向我们提出了一个有趣的问题:对个人用户来说,用5到6秒解析一篇长文档是可以接受的等待时间,为什么TextIn技术团队不断优化解析速度,甚至将百页文档的解析时间压缩至2秒以内呢?

我们将通过本篇文章解答这个有趣的问题。

1 为什么我们需要速度够快的文档解析工具

1.1 赋能大数据场景

我们可以金融大数据业务场景为例。

对金融大数据服务商而言,短时间、大批量数据输入属于常见场景。为了提供及时正确的大数据查询和检索服务,在数据更新频繁时期,例如每年财报、年报季,相关企业对T+0完成数据库更新有明确需求,且要求较高的质量标准。

传统数据录入首先需要进行数据清洗,并通过编写大量正则表达式提取网页内容,但面对文档类数据,传统方法不能实现有效处理。格式繁多、版面复杂的文档成为数据被“隐没”的地方,其中的重要信息难以高效、准确地转变为可使用的数据形式。

当大模型的企业级应用逐渐落地,金融大数据行业范式发生了改变。目前,“数据 + 文档解析 + LLM + Prompt”的模式成为新的优选。

与编写正则表达式相比,写Prompt相对更容易维护,也能降低门槛便利使用者。同时,借助大模型出色的读取、理解与生成能力,从业者得以提升内容解读与数据分析能力。需要考虑的环节问题简化为一点:如何将文档中的内容转化为对LLM友好的格式,成为LLM可读可分析的数据信息?

我们给出的答案是:高效、稳定、可靠的文档解析工具。

在金融大数据业务场景下,一款好用的文档解析工具需要具备以下特征:第一,足够快的解析速度:在数据录入密集期,新发布的财报、年报、法律文书等文件数据需要在数据发布的当天立刻上线;

第二,准确还原各类表格结构:报告中经常包含无线表、跨页表格、合并单元格、密集表格等等复杂结构,对非结构化数据提取而言,失之毫厘,差之千里,不够精准的内容输入将影响数据库的质量;

第三,良好的兼容性:对各类版式都要有良好的兼容性,降低解析失败率。

其中,速度是实现高效业务运转的关键所在。一般而言,上市公司年报在200至300页以上,TextIn文档解析工具的解析效率可以支持将数千家企业年报在8小时内完成数据读取,协助大数据企业完成上线。

1.2 加速大模型训练

大模型的表现很大程度上取决于它对人类语言的理解和生成能力。由于自然语言本身的复杂性和多样性,这项任务充满挑战,而在这个过程中,LLM(大语言模型)的训练显得尤为重要。

在训练过程中,借助海量数据预训练的深度学习模型,LLM通过处理超大规模的文本数据来学习语言的规律、语义和上下文,从而获得对自然语言的理解和生成能力,并进一步应用于翻译、对话、问答、文本生成等不同场景。

LLM 训练质量对大模型的性能和应用具有决定性影响。经过高质量训练,大模型能在语义理解、文本推理等任务中表现更佳。而为了实现高质量的 LLM 训练,除了充分的计算资源外,高质量的数据是最重要的因素之一。通俗来说,“喂”给大模型的数据决定了LLM的性能。

快速、准确的文档解析工具将有效加速大模型训练进程。

一方面,对复杂版面的准确识别、良好的格式兼容性将提升预训练数据的质量;另一方面,大模型预训练文本数据量往往以数千万页计。目前,以3000万页PDF文档为例,市面上工具的普遍处理时间大约在接近两周。按TextIn当前版本速度计算,预计可在5个工作日内实现解析,时间差异将达到一周以上

在效率为王的AI时代,对开发者而言,一周多的时间可以对研发周期起到关键作用。一款好的文档解析工具能为大模型开发与应用装上“加速器”。

1.3 优化C端用户使用体验

目前,在C端使用方面,文档问答的用户体验仍有待提升。例如,如果用户上传一份较大的扫描文档或书籍,经常会超出大模型的文档大小限制,或在长时间加载后显示解析失败。

同时,受限于网速与算力,上传文档后等待解析是大模型问答产品的常见状况,一般来说,解析时间短则十几秒,长则数分钟,是用户使用过程中的常态。

对C端用户来说,高速、稳定的文档解析也将有效提升使用体验,让扫描文档、复杂版式不再成为大模型问答应用的阻碍,帮助大模型检索获取更准确的信息,从而提升问答效果。

2 TextIn vs. X:当前产品能实现的解析速度

TextIn文档解析百页2秒的速度在业内处于怎样的水准?

要回答这个问题,速度测试可以为我们展现最直观的数据。

以一份企业年报为例,我们对当前产品能够实现的解析速度进行对比测试。

我们选择的企业年报文件大小为38.8MB,共49页,文中包含形式多样的图表、数据、证照等页面,如下图所示。

我们使用TextIn、Llamaparse及国内某常用大模型问答产品对文档进行解析。

LlamaParse是由LlamaIndex创建的一项技术,用于解析和表示PDF文件,以便通过LlamaIndex框架进行高效检索和上下文增强,适用于复杂PDF文档,是目前讨论度较高的开源解析器。使用对话式大模型进行文档解析与问答则是现在C端的常用场景。我们使用同一份文件,选择这两款产品与TextIn进行测试,速度测试结果如下。

TextIn

Llamaparse

国内某大模型

解析速度

1.779s

/

11.10s

端到端速度

18.743s

26.50s

36.39s

截图

注:在TextIn接口输出结果中,duration时间单位为毫秒。

对TextIn与llamaparse,我们使用的方式均为调用API接口,并使用测试脚本,可以直观地看到运行所用时长。对于大模型产品,我们上传一份PDF后,界面上会先后显示“上传中...”和“解析中...”两种状态,表格中端到端时间计算方式为上传与解析时间总和。其中,“上传中”这个状态,在控制面板中对应的是一个xhr请求。上传完成后转换到“解析中”状态,该状态对应的是“parse_process”这个请求。

我们列出了各个产品的解析速度与端到端速度(含上传时间)。测试均在相同网络情况下进行。其中,Llamaparse不支持解析速度的单独获取,仅可测量端到端速度。

对于同一份文档,TextIn文档解析具体展现了强大的速度优势。在企业级的使用场景下,当文档数量以百万,甚至千万页计,解析速度将成为影响业务场景落地、大模型开发效率重要的因素之一。

3 试用当前版TextIn文档解析工具

如果当前就有相关需求,TextIn文档解析是否可以随时调用?

在TextIn平台,开发者可以注册账号并随时试用最新版TextIn文档解析工具。

访问链接:https://www.textin.com/market/detail/pdf_to_markdown

点击【免费体验】,即可在线试用,如下图所示:

如果想尝试代码调用,也可以访问对应的接口文档内容:

https://www.textin.com/document/pdf_to_markdown

平台提供了一个Playground,帮开发者们预先调试接口。

点击页面中【API调试】按钮,即可进入调试页面。

在这里可以简单配置一些接口参数,发起调用后,右侧就会出现调用结果。

如果想用python调用,既可以参考平台上的通用示例代码,也可关注公众号《合研社》,获取更全面的demo代码。

文档解析产品目前正处于内测阶段。正式产品通常有1000页的免费试用额度,在内测期间,平台给每位开发者提供每周7000页的额度福利关注公众号《合研社》即可领取。欢迎大家与我们团队多多交流,提出意见或建议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/339457.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:list模拟实现

hello,各位小伙伴,本篇文章跟大家一起学习《C:list模拟实现》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞!&#xf…

vue不同页面切换的方式(Vue动态组件)

v-if实现 <!--Calender.vue--> <template><a-calendar v-model:value"value" panelChange"onPanelChange" /></template> <script setup> import { ref } from vue; const value ref(); const onPanelChange (value, mod…

MySQL—函数—数值函数(基础)

一、引言 首先了解一下常见的数值函数哪些&#xff1f;并且直到它们的作用&#xff0c;并且演示这些函数的使用。 二、数值函数 常见的数值函数如下&#xff1a; 注意&#xff1a; 1、ceil(x)、floor(x) &#xff1a;向上、向下取整。 2、mod(x,y)&#xff1a;模运算&#x…

基于Springboot + vue实现的文化民俗网站

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

字节裁员!开启裁员新模式。。

最近&#xff0c;互联网圈不太平&#xff0c;裁员消息此起彼伏。而一向以“狼性文化”著称的字节跳动&#xff0c;却玩起了“低调裁员”&#xff0c;用一种近乎“温柔”的方式&#xff0c;慢慢挤掉“冗余”的员工。 “细水长流”&#xff1a;裁员新模式&#xff1f; 不同于以往…

2024年Google算法更新打击低质量(如AI生成)内容后,英文SEO优化人员该如何调整谷歌SEO优化策略?

3月5日&#xff0c;谷歌发布了2024年的首次算法更新。与以往更新不同&#xff0c;本次更新更加复杂&#xff0c;这次更新旨在提高搜索结果的质量和相关性&#xff0c;可能对外贸网站排名和流量产生显著影响。也将产生更大的网站数据波动。但在担心自己的网站数据受到影响之前&a…

【wiki知识库】04.SpringBoot后端实现电子书的增删改查以及前端界面的展示

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 一、&#x1f525;今日内容 二、&#x1f30f;前端页面的改造 2.1新增电子书管理页面 2.2新增路由规则 2.3修改the-header代码 三、&#x1f697;SpringBoot后端Ebook模块改造 3.1增加电子书增/改接口 3.1.…

数据挖掘 | 实验三 决策树分类算法

文章目录 一、目的与要求二、实验设备与环境、数据三、实验内容四、实验小结 一、目的与要求 1&#xff09;熟悉决策树的原理&#xff1b; 2&#xff09;熟练使用sklearn库中相关决策树分类算法、预测方法&#xff1b; 3&#xff09;熟悉pydotplus、 GraphViz等库中决策树模型…

盘点2024年还在活跃发版的开源私有网盘项目附源码链接

时不时的会有客户上门咨询&#xff0c;丰盘ECM是不是开源项目&#xff0c;源码在哪里可以下载&#xff1b;如果需要和内部其他系统做集成&#xff0c;购买商业版的话&#xff0c;能否提供源代码做二次开发呢&#xff0c;等等诸多问题。 这里做个统一回复&#xff0c;丰盘ECM产…

Docker安装极简版(三分钟搞定)

什么是Docker? Docker是一个开源的应用容器引擎&#xff0c;它允许开发者打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口。 化。容器是…

MLPerf storage基准测试

MLPerf 基准测试 什么是 MLPerf&#xff1f;MLPerf™ 基准测试由来自学术界、研究实验室和行业的 AI 领导者联盟 MLCommons 开发&#xff0c;旨在对硬件、软件和服务的训练和推理性能进行无偏评估。它们都在规定的条件下进行。为了保持在行业趋势的前沿&#xff0c;MLPerf 不断…

0基础认识C语言(理论知识)

为了给0基础一个舒服的学习路径&#xff0c;就有了这个专栏希望带大家一起进步。 话不多说&#xff0c;开始正题。 一、C语言的一段小历史 C语言的设计要追溯到20世纪60年代末和70年代初&#xff0c;在那个时代美国有这么一号人叫做丹尼斯.里奇&#xff0c;他和同事肯.汤普逊…

计算机网络学习实践:DHCP跨网段动态分配IP

计算机网络学习实践&#xff1a;DHCP跨网段动态分配IP 1.实验准备 实验环境&#xff1a;思科的模拟器 实验设备&#xff1a; 1个服务器&#xff0c;2个二层交换机&#xff08;不是三层的&#xff09;&#xff0c;4个PC机&#xff0c;1个路由器 三个网段 192.168.1.0 255.…

一些智能音箱类的软硬件方案

主要参考资料 Rabbit R1: https://www.rabbit.tech/rabbit-r1 mediatek-helio-p35: https://www.mediatek.com/products/smartphones-2/mediatek-helio-p35 NSdisplay: https://www.nsdisplay.com/ai-holobox-mini/ai-holobox-mini.html RK3566: https://www.rock-chips.com/a/…

Java学习Lambda表达式

Lambda表达式 有且只有一个未实现的方法叫做Lambda表达式&#xff0c;可以实现函数式编程 // 这个注解是用来检查你写的函数是否是函数式接口 FunctionalInterfaceinterface Myinterface {int sum(int a, int b);default String priteTitle(String name, int age, String sex)…

ASP+ACCESS酒店预定管理系统

【摘要】宏都大酒店管理信息系统中不能通过互联网方式进行客房预订&#xff0c;通过本次设计主要实现通过互联网方式进行客房预订。让客户足不出户坐在家里就能预订出自己想要的客房。主要功能有&#xff1a;酒店简介、客房简介、客房报价、客房预订信息提交&#xff0c;预订信…

Flutter基础 -- Dart 语言 -- 进阶使用

目录 1. 泛型 generics 1.1 泛型使用 1.2 泛型函数 1.3 构造函数泛型 1.4 泛型限制 2. 异步 async 2.1 异步回调 then 2.2 异步等待 await 2.3 异步返回值 3. 生成器 generate &#xff08;了解&#xff09; 3.1 同步生成器 sync* 使用 sync* 的场景 总结 3.2 异…

关于nodejs单线程

Node是使用C++语言写的一款JavaScrip解析器。 高并发 一般来说,高并发的解决方案就是多线程模型,服务器为每隔客户端请求分配一个线程,使用同步I/o,比如Apache就是这种策略,由于I/O一般都是耗时操作,因为这种策略很难实现高性能,但非常简单,可以实现复杂的交互逻辑。…

Python 的 os 和 shutil 模块

大家好&#xff0c;在日常的编程工作中&#xff0c;处理文件和目录是一个非常常见的任务。无论是创建、复制、移动还是删除文件&#xff0c;这些操作都需要我们与文件系统进行交互。在 Python 中&#xff0c;有两个强大的模块可以帮助我们轻松地进行文件和目录操作&#xff0c;…

Unity协程详解

什么是协程 协程&#xff0c;即Coroutine&#xff08;协同程序&#xff09;&#xff0c;就是开启一段和主程序异步执行的逻辑处理&#xff0c;什么是异步执行&#xff0c;异步执行是指程序的执行并不是按照从上往下执行。如果我们学过c语言&#xff0c;我们应该知道&#xff0…