← 最新论文
🤖 AI

Operationalizing Document AI: A Microservice Architecture for OCR and LLM Pipelines in Production

本文介绍了大规模部署文档 AI 流水线的微服务架构与运维经验,重点阐述了将 GPU 任务与 CPU 任务分离等设计决策,并揭示出在生产环境中,主要瓶颈并非模型复杂度或工作节点数量,而是 OCR 延迟与共享 GPU 容量。

原作者: Yao Fehlis, Benjamin Bengfort, Zhangzhang Si, Vahid Eyorokon, Prema Roman, Patrick Deziel, Devon Slonaker, Steve Veldman, Ben Johnson, Joyce Rigelo, Michael Wharton, Steve Kramer

发布于 2026-05-20
📖 1 分钟阅读☕ 轻松阅读

原作者: Yao Fehlis, Benjamin Bengfort, Zhangzhang Si, Vahid Eyorokon, Prema Roman, Patrick Deziel, Devon Slonaker, Steve Veldman, Ben Johnson, Joyce Rigelo, Michael Wharton, Steve Kramer

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你经营着一家规模庞大、高速运转的邮件分拣中心。每天,成千上万份复杂的文件涌入——有些皱巴巴,有些模糊不清,有些是多页合同,还有些仅仅是收据的照片。你的目标是阅读每一份文件,理解其内容,并提取具体细节(如日期、姓名或金额),将其填入整洁的数字电子表格中。

本文描述了 Kungfu.ai 团队如何构建这样一个“工厂”来实现上述目标,但有一个转折:他们意识到,试图用一台巨型机器(单体架构)来完成所有工作,既缓慢、昂贵,又容易出故障。相反,他们构建了一个微服务架构,这就像将那个工厂转变为一支由专业工人组成的团队,每个人都有自己的特定工作,文件沿着传送带依次传递。

以下是他们系统的工作原理,简单解释如下:

1. 三个专业团队(微服务)

与其让一个机器人同时尝试扫描、阅读和思考,他们把工作分成了三个不同的团队:

  • 网关(接待员):
    这是前门。它的唯一任务是从外部世界接收文件,将图片安全地存储在数字仓库(对象存储)中,并在队列中放入一张“票据”,上面写着:“嘿,我们有一份新文件需要处理!”它不进行任何繁重的劳动;它只管理流程。如果“接待员”生病了,没有新邮件进入,但内部的工人会继续处理他们已经收到的文件。
  • 工人(管理者):
    这些是由 CPU 驱动的管理者。他们从队列中领取票据,查看文件,并决定下一步需要做什么。他们擅长组织、等待回复和移动数据,但并不擅长繁重的“思考”或“视觉”任务。他们充当乐队的指挥,告诉专家何时开始演奏。
  • 推理服务(重体力劳动者):
    这是拥有昂贵、超高速 GPU(图形卡)的团队。他们是唯一被允许执行繁重视觉工作的团队:OCR(将模糊图像转换为文本)和LLM 解析(利用巨型 AI 大脑理解文本并提取特定字段)。由于这些机器非常昂贵,团队将它们独立出来,这样当“工人”只是在等待时,就不需要为它们付费。

2. 装配线(流水线)

当文件到达时,它会按照特定的步骤序列进行处理,就像装配线上的汽车一样:

  1. 分类(分拣员):
    首先,系统需要知道这是什么类型的文件(例如,是发票还是医疗表格?)。
    • 技巧: 他们使用了一种“混合策略”。首先,他们使用一个廉价、快速、本地的 AI(CLIP-KNN)来猜测类型。它的准确率为 92%,且免费。如果 AI 不确定(置信度低于 70%),然后他们将其发送给昂贵、超级智能的 AI(Claude Sonnet)进行复核。这节省了大量资金,因为廉价 AI 单独就能在 96% 的情况下正确判断。
  2. OCR(翻译员):
    文件是一张图片。系统利用 GPU 团队将图像逐字转换为实际文本。
    • 意外发现: 作者发现,这一步是最大的瓶颈。它耗时最多。尽管“思考”AI(LLM)很复杂,但它只需为整份文档阅读一次文本。而 OCR 必须单独查看每一页。这就像阅读整本书(快)与逐字翻译书中的每一个词(慢)之间的区别。
  3. 文本拼接(粘合剂):
    如果一份文件有 10 页,系统会将第 1 页的文本、第 2 页的文本依次取出,并将它们拼接成一个完整的故事。
  4. 结构化解析(提取器):
    最后,“思考 AI"(LLM)阅读拼接好的文本,并将所需的具体数据(例如,“发票日期:2023-10-01")填入数字表单(如 JSON 文件)中。

3. 秘密武器:他们如何扩展

本文强调了他们在运行该系统时产生的两个重大“顿悟”时刻:

  • 瓶颈在于“眼睛”,而非“大脑”:
    每个人都认为“思考 AI"(LLM)会是缓慢的部分。他们错了。“眼睛”(OCR)才是缓慢的部分。因为 OCR 是瓶颈,他们意识到需要专门针对 OCR 扩展 GPU 团队,而不仅仅是增加更多的管理者(工人)。如果你只增加管理者而不增加更多的“眼睛”,管理者只会坐在那里等待。
  • 队列是安全网:
    他们使用消息队列(就像一个数字候诊室)。如果“重体力劳动者”很忙,文件就排队等待。这防止了系统崩溃。这也意味着,如果一个工人崩溃了,文件会回到队列中,由其他人领取,确保没有任何东西丢失。

4. 结果

通过采用这种架构,他们实现了两项惊人的成就:

  1. 成本: 他们将每页的处理成本从 0.01 美元降至 0.001 美元(降低了 10 倍)。这是通过让廉价 AI 处理大多数任务,仅在绝对必要时才使用昂贵 AI 来实现的。
  2. 可靠性: 他们在每小时处理数千页的同时,保持了 96% 的准确率

总结

本文认为,构建生产级 AI 系统不仅仅在于拥有最聪明的模型;更在于工程化。你必须将“思考”与“组织”分离,使用队列来管理流量,并意识到你流程中最慢的部分(在本例中是阅读文本)才是你需要优化的部分,而不是你认为最复杂的部分。

他们将一个混乱、昂贵的过程转变为一个高效、成本效益高的工厂,在这里,每个工人都确切知道该做什么,而昂贵的机器只在真正需要时才被使用。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →