从PDF到洞察:利用AWS生成式AI服务构建智能文档处理流水线
本文介绍了如何利用Amazon Bedrock及其特性(如BDA、Strands Agent和知识库)构建一个成本效益高、可扩展的智能文档处理流水线,能够自动从文档中提取、分析并理解上下文,无需大量开发工作。
组织每天处理数百万份文档,从保险索赔、发票到法律合同和医疗记录。传统OCR解决方案虽然能提取文本,但无法理解复杂文档中的上下文、关系或含义。这种限制导致需要人工干预,增加了处理时间和成本,并可能引入错误。
Amazon Bedrock Data Automation (BDA) 提供统一的API体验,从多模态内容(包括文档、图像、视频和音频文件)中提取有价值的洞察。与传统解决方案不同,BDA不仅提取文本,还能理解文档上下文、验证提取的数据并提供置信度分数。BDA通过流水线处理文档,自动完成文档分类、提取、归一化和验证等复杂任务。提交文档后,BDA会自动按逻辑边界拆分文档,将每个部分分类到适当的文档类型,并匹配到正确的处理蓝图。这种智能路由消除了手动文档排序和协调多个AI模型的需求。该服务支持多种文件格式,每API请求最多处理3000页和500MB,适合大规模处理各种文档类型。
本文概述了在AWS上使用Amazon Bedrock及其特性构建一个成本效益高且可扩展的智能文档处理流水线的过程。BDA是Amazon Bedrock中的托管服务,可自动化从文档中提取洞察。我们展示了BDA如何提取和分析文档内容,而托管在Amazon Bedrock AgentCore Runtime上的Strands Agent协调专门的处理任务,Amazon Bedrock知识库则支持跨多个文档的上下文理解。通过将这些能力结合在统一的架构中,组织可以以最小的开发努力转变其文档处理工作流程。
解决方案概述
我们的智能文档处理流水线将生成式AI与编排的工作流相结合,自动提取、分析可视化图表和图形,并从文档中推导出洞察,同时保持跨多个数据源的上下文和关系。该解决方案通过四个集成层处理文档:
输入处理层:文档上传触发处理编排和状态机协调。 提取和存储层:原始文本和表格提取、图像和视觉元素分析、可扩展数据集成。 智能层:知识库摄取与语义搜索、多模态基础模型( FM )分析和大型语言模型(LLM)驱动的解释。 代理协调层:协调代理和专门任务代理。
架构组件
输入处理层构成了解决方案的基础。该层管理传入文档的初始接收和路由。当文档到达指定的Amazon Simple Storage Service (S3)存储桶时,文档上传触发处理工作流,支持PDF和扫描文档(PDF格式)等多种格式。
BDA在输入处理层中充当核心提取引擎,通过统一API处理文档拆分、分类和内容提取。AWS Step Functions编排工作流以最大化BDA在提取和存储层中的能力,提供整个过程中的操作可视性和控制。详细的编排流程如下:
文档摄取:文件以各种格式到达S3存储桶。每种格式通过统一API处理,无需格式特定的预处理。 元数据记录:工作流在Amazon DynamoDB中记录文档元数据,用于跟踪、审计和报告。包括文件类型、大小、提交时间和处理状态。 页数分析:工作流检查页数以优化处理策略。BDA自动处理文档拆分,最多可处理3000页。Step Functions中的页数检查有助于设置异步作业的适当超时值,并对异常大的文档进行监控和告警。 BDA处理调用:工作流使用InvokeDataAutomationAsync API启动异步BDA作业。BDA随后自动:按逻辑边界拆分文档(每拆最多20页);将每个部分分类为文档类型;匹配文档到适当的蓝图(如果使用自定义输出);提取所有内容,包括文本、表格、表单和视觉元素。 使用任务令牌的异步处理:工作流存储任务令牌并等待BDA作业完成。这种模式实现了高效的资源利用,允许同时处理数千个文档。 错误处理和路由:全面的错误处理管理不同情况,包括成功处理、验证错误、超时和不支持的文件类型,确保没有文档丢失,所有问题都被记录以供审查。
这种编排方法提供了一个高度可扩展的无服务器流水线,用于自动化文档分析,在每个处理阶段都具有适当的分支逻辑和异常管理。
提取和存储层
该层是解决方案的核心,BDA作为将原始内容转换为结构化、可操作数据的主要引擎。下面提供更多细节。
Amazon Bedrock Data Automation作为主要处理引擎,提供两种灵活的输出选项: 标准输出 – 根据数据类型提供常用信息,包括文档摘要、按阅读顺序提取的文本、表格和图表标题,以及生成式洞察。标准输出可通过项目自定义,启用或禁用特定的提取特征,如页眉、页脚、标题和图表,以满足处理需求。 使用蓝图的自定义输出 – 每种文档类型创建一个蓝图,因为同一类型的文档使用相同的指令集提取通用信息。但不同文档类型需要不同的蓝图中提取不同信息。例如,护照和银行对账单需要不同的蓝图。所有银行对账单应仅使用一个蓝图,因为无论银行或格式如何,要从银行对账单中提取的信息类型应该是相同的。蓝图允许通过定义特定字段、数据格式和提取指令来精确控制提取的信息。一个项目最多可包含40个文档蓝图,BDA自动将每个文档匹配到适当的蓝图。这使得可以在统一工作流中处理发票、合同和表单等多种文档类型。
此外,BDA提供: 通过单一界面的统一API体验,处理多模态内容 跨区域推理能力,改善处理效果 内置保障措施,包括视觉定位和置信度分数,确保准确性 支持自定义蓝图,为特定文档类型标准化输出格式
视觉分析处理利用BDA的能力,从传统OCR无法解释的图表、图形、图表和视觉元素中提取洞察。BDA在进行图形标注时提供图像裁剪,并生成这些视觉元素的详细文本描述和结构化数据,包含在下游工作流中。例如,当BDA处理图表时,它产生: 描述图表内容和目的的生成式标题 从图表中提取的数据点和趋势 图表和流程图中提取的结构关系 将视觉元素链接到文档中位置的边界框坐标
所有文档格式在下游处理中:每种支持的文档格式(PDF、PNG、JPG、TIFF、DOC、DOCX)都通过统一API处理。来自BDA的提取内容(包括视觉元素描述)可以手动配置进行索引和向量化,存储在Amazon Bedrock知识库中,以支持跨不同文档类型的语义搜索。注意,BDA还具有与知识库的内置集成,在文档摄取到知识库时可以作为解析器,使用BDA标准输出(无需蓝图)。这个下游工作流接收来自BDA的结构化JSON输出,包含所有提取的信息,无论原始文件格式如何,都能实现一致的处理。
文档的数据提取包括: 按阅读顺序提取文本,保留布局 表格结构识别,保留单元格关系 表单字段检测和键值对提取 视觉元素分析(包括图表、图形和图表),并生成标题 边界框坐标,精确定位提取元素的位置 文档级和页面级摘要,保留上下文
智能层
该层是解决方案的认知引擎。Amazon Bedrock知识库必须与Amazon OpenSearch Serverless配置,通过语义搜索和检索增强生成(RAG)能力将原始内容转换为可操作的洞察。以下部分提供更多细节。
Amazon Bedrock知识库与Amazon OpenSearch Serverless结合,通过以下方式实现语义搜索和RAG工作流: 对处理后的文档内容进行索引,实现智能查询 维护向量嵌入,支持文档集合间的相似性搜索 支持跨多个文档和数据源的复杂查询
Amazon Bedrock基础模型( FMs )分析视觉内容,包括图表和图形解释、文档布局理解以及文本和视觉组件之间的跨模态关系检测。
代理协调层
该层组织解决方案的智能。Amazon Bedrock AgentCore Runtime上的Strands代理管理整体处理工作流,根据请求类型将请求路由到适当的专门代理,并协调跨代理通信以进行复杂的文档分析。
专门任务代理处理特定的文档处理功能: 市场分析师代理:用于金融市场报告和投资文档。 投资顾问代理:用于投资组合分析和咨询文档。 外部API代理:通过安全的API连接实时第三方数据,集成财务数据提供商、监管数据库和市场情报平台。 协调代理通过比较来自外部API代理的实时市场数据与存储在Amazon Bedrock知识库中的历史数据,进行交叉引用验证。
实现架构
处理流水线采用事件驱动的方法处理文档,将多个专门层集成到一个连贯的工作流中。它遵循逻辑进展,每一步建立在前一步之上。从文档上传开始,触发Amazon S3事件启动状态机,然后进行多模态处理,从不同内容类型中提取含义。流水线继续代理协调,指导
[文章因AI成本控制被截断]