首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >文档AI -改进单个文档的批处理时间?

文档AI -改进单个文档的批处理时间?
EN

Stack Overflow用户
提问于 2022-02-21 10:46:49
回答 1查看 373关注 0票数 0

我正在从事一个GCP 文件AI项目。首先,让我说一下-- OCR工作得很好:-)。如果可能的话,我很想知道改进的可能性。

现在发生了什么

我编写了一个python模块,它将完成通过门户上传或由系统中的代理收集的tiff文件的OCR。该模块是以一种避免本地使用原始文件内容的方式编写的,因为该文件很容易在云桶中可用。但是,我必须付出的代价是使用batch_process_documents() API而不是process_document()

a观察

这是一个显而易见的问题,因为如果文档是通过内联API提交的,那么大部分时间都会在不到5秒的时间内返回OCR。但是,批处理(带有一个文档:-\\)几乎每次花费超过45秒的时间。有时它会超过一分钟或更长时间。

我正在寻找一个解决方案,以减少OCR的通话时间。内联API不像我所知道的那样支持gcs,所以要么我需要下载内容,然后通过内联api上传它,然后做一个OCR,要么我需要忍受性能下降。

有没有处理过类似案件的人?或者是否有任何方法可以解决这个问题,而不用使用批处理api或下载内容?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2022-02-22 10:33:45

根据您的要求,因为您所关心的是在比较processbatchProcess方法对Document的响应时间时的延迟,因此使用单个文档,结果分别为5秒和45秒。

  • 文件()方法限制了可以发送的页面数和文件大小,并且它只允许每个API调用一个文档文件。
  • 文件()方法允许异步处理较大的文件和批处理多个文件。

单个请求面向较小数量的数据,通常需要很小的时间来处理,但在处理大量数据时性能可能较低;另一方面,批处理请求面向处理更大数量的数据,这些数据量比单个请求具有更好的性能,但在处理少量数据时性能可能较低。

关于这两个方法调用的延迟问题,查看文档,我可以发现对于单个请求或同步("online")操作(即立即响应),文档数据是在内存中处理的,而不是保存到磁盘上的。随后,在异步脱机批处理操作中,文档将在磁盘中处理,因为该文件可能会显着地更大,无法在内存中容纳。这就是异步操作相对于同步操作花费大约10倍时间的原因。

这些方法调用中的每一个都有特定的用例,在这种情况下,选择使用哪个方法将依赖于对您更好的权衡。如果时间响应非常重要,并且希望尽快获得响应,则可以拆分文件以适应大小,并将请求作为同步操作进行,同时考虑到配额制和API的限制。

这个问题已经在这个问题跟踪器中提出了。我们目前不能提供一个ETA,但您可以跟踪问题跟踪器的进展,您可以通过引用此链接来“星光”问题以接收自动更新并使其具有吸引力。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71204952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档