使用生成式 AI 和 Amazon Bedrock Data Automation 处理大规模智能文档
在各行各业中,从海量非结构化文档中提取有价值的结构化信息是一项反复出现、成本高昂且耗时的业务挑战。长期以来,企业依赖于传统的光学字符识别 (OCR) 和经典的命名实体识别 (NER) 模型来应对这一挑战。然而,这些技术存在固有的局限性。它们通常是刚性的,每当遇到新的文档类型时,都需要大量的标注数据进行训练。此外,它们难以处理文档布局的细微变化,并且通常只能识别预先定义的、固定的实体集合。
在各行各业中,从海量非结构化文档中提取有价值的结构化信息是一项反复出现、成本高昂且耗时的业务挑战。长期以来,企业依赖于传统的光学字符识别 (OCR) 和经典的命名实体识别 (NER) 模型来应对这一挑战。然而,这些技术存在固有的局限性。它们通常是刚性的,每当遇到新的文档类型时,都需要大量的标注数据进行训练。此外,它们难以处理文档布局的细微变化,并且通常只能识别预先定义的、固定的实体集合。
更重要的是,传统方法无法处理更细微的数据类型提取,例如数值评分(如情感分数)或自由格式的文本生成(如内容摘要),而这些对于现代商业智能至关重要。这些限制导致了高昂的运营成本、缓慢的处理周期以及因手动干预而产生的错误,成为企业数字化转型的瓶颈。
生成式 AI 在理解非结构化数据方面的变革潜力
生成式 AI 的出现为智能文档处理 (IDP) 带来了范式转变。大型语言模型 (LLM) 和多模态模型能够理解文档的上下文、布局和语义,而无需为每项新任务进行成本高昂的数据标注或模型重新训练。这种能力从根本上改变了文档处理的范围和深度。
由生成式 AI 驱动的 IDP 不再局限于简单的文本提取。它能够执行更高级别的任务,如文档分类、内容摘要,并从复杂的文档库中派生出可操作的洞察。这使得企业能够通过揭示先前隐藏在非结构化格式中的模式和趋势,从而做出更明智的决策。这项技术的影响力已遍及多个行业,其在金融、医疗保健、保险和公共部门等领域的应用,充分证明了其企业级的实用性和重要性。
这种技术演进的背后,是商业驱动力的根本性转变。传统 IDP 的投资回报主要通过节省人力成本来衡量,其核心是运营效率的提升。然而,生成式 AI 的能力——例如生成摘要、检测情感或回答关于文档内容的复杂问题——创造了全新的数据产品和分析能力。因此,商业考量已从单纯的运营效率转向战略优势的创造。企业不再仅仅问“我们如何能更快地处理发票?”,而是开始探索“我们收到的客户投诉邮件,在总体上揭示了哪些产品缺陷?”。这种转变意味着“文档”本身的概念正在被重新定义:它不再是需要归档的静态信息容器,而是一个可以像结构化数据库一样被实时查询和分析的动态数据源,彻底改变了组织看待和管理其全部非结构化信息的方式。
智能文档处理 (IDP) 的 亚马逊云科技生态系统
在这一变革浪潮中,Amazon Bedrock Data Automation 成为了亚马逊云科技解决方案的核心。它被定位为一个托管服务,旨在通过统一的 API 自动从多模态内容(包括文档、图像、视频和音频)中生成有价值的洞察。
其核心价值主张在于,Amazon Bedrock Data Automation 免除了复杂的提示工程、模型管理或微调的需求,使其成为大规模文档处理工作流的绝佳选择。这直接解决了前述传统方法的缺点,为企业提供了一个强大、可扩展且易于使用的平台,以释放其非结构化数据中蕴含的巨大价值。
在开始本文实战之前,你需要有一个亚马逊云科技的账号。顺带一提,最近亚马逊云科技更新了免费套餐的配置,非常给力!
亚马逊云科技上可扩展 IDP 管道的架构蓝图
解构端到端的无服务器架构
该解决方案的整体技术架构基于无服务器和事件驱动的设计理念,这确保了其卓越的可扩展性和成本效益。系统的核心组件协同工作,形成一个从文档上传到结构化数据输出的无缝流程。
此架构中的工作流步骤如下:
- 用户通过 Amazon Cognito 凭证登录 Web 应用程序,选择输入文档,并在用户界面中定义要提取的字段。
- 用户启动 IDP 管道。
- 应用程序为文档创建一个 S3 预签名 URL,并将它们上传到 Amazon S3。
- 应用程序触发 Amazon Step Functions,以 S3 URI 和 IDP 设置作为输入来启动状态机。
- 根据文档类型和解析模式,工作流会分支到不同的 Amaozn Lambda 函数来执行 IDP。
- 如果选择 Amazon Bedrock 基础模型进行 IDP,文档将被发送到一个 Lambda 函数,该函数将文档转换为图像集,并连同属性模式一起发送给多模态基础模型。
- Web 应用程序定期检查状态机执行结果,并在结果可用时将其返回给用户。
使用 Amazon Step Functions 进行编排和并行处理
Amazon Step Functions 在整个 IDP 管道中扮演着中央编排器的角色。它负责管理工作流的各个阶段,确保任务按正确的顺序执行,并处理错误和重试逻辑。
该解决方案特别利用了Amazon Step Functions 中的 Map
状态,这是实现大规模并行处理的关键。当用户上传一批文档时,Map
状态会为每个文档启动一个并行的执行分支。这种能力使得解决方案能够水平扩展,高效地同时处理成千上万份文档,而无需手动管理计算资源。
Amazon Lambda 作为计算结构的支撑
Amazon Lambda 函数是连接各个服务并执行核心业务逻辑的“粘合剂”。它们是无服务器计算的体现,仅在需要时运行,并根据负载自动扩展。在此架构中,定义了多个专门的 Lambda 函数:
Run Data Automation
/Executar automação de dados
: 用于调用 Amazon Bedrock Data Automation 异步任务。Perform OCR
: 用于调用 Amazon Textract 进行文档分析,提取原始文本和布局信息。Parse office
: 使用 LangChain 文档加载器专门处理.doc
、.ppt
等 Microsoft Office 格式的文件。Extract attributes
/Extrair atributos
: 用于直接调用 Bedrock 基础模型,并提供自定义提示以提取信息。bda-document-processor
和bda-classifier
: 作为人工审核 (Human-in-the-Loop) 工作流的一部分,用于处理和分类 Bedrock Data Automation 的输出。
使用 Amazon S3 实现数据持久化和触发
Amazon S3 在此解决方案中扮演双重角色。首先,它是一个高持久性的存储层,用于存放输入的原始文档和处理后生成的结构化 JSON 输出。其次,它是一个强大的事件源。通过配置,当一个新文档上传到指定的 S3 存储桶时,可以自动触发整个 Amazon Step Functions 工作流,这通常通过 Amazon EventBridge 规则实现,从而创建一个完全自动化的端到端管道。
通过 Amazon Cognito、API Gateway 和容器化前端实现安全的用户交互
为了提供一个安全且用户友好的界面,该解决方案集成了一系列前端和安全服务。Amazon Cognito 负责用户身份验证和授权,确保只有授权用户才能访问应用程序及其 API。
Amazon API Gateway 提供了一个托管的、安全的入口点,用于前端应用程序调用后端逻辑。前端 Web 应用程序本身是一个容器化的应用(例如,使用 Streamlit 构建),运行在 Amazon Elastic Container Service (Amazon ECS) 上,并通过 Amazon CloudFront 在全球范围内分发。这种设计不仅为最终用户提供了一个简单直观的界面来与复杂的后端管道交互,还确保了低延迟和高可用性。
Amazon Bedrock Data Automation 的文档提取技术
托管服务的优势
对于大多数 IDP 用例,Amazon Bedrock Data Automation 是推荐的首选核心引擎。其最大的优势在于它是一个完全托管的服务,它抽象了数据准备、模型选择、提示工程和工作流编排等底层复杂性。这使得开发人员能够将精力集中在业务逻辑上,而不是耗费在复杂的机器学习基础设施管理上。最终,这显著缩短了从概念到生产的开发时间。
自动分类、规范化、转换和验证
Amazon Bedrock Data Automation 的强大之处在于其内置的一系列高级功能,这些功能旨在解决现实世界文档处理中的常见痛点:
- 自动分类 (Automatic Classification): 该服务能够智能地分割包含多个不同文档的文件(例如,一个包含申请表、身份证和收入证明的 PDF),并将每个独立的文档与相应的提取模式(即“蓝图”)进行匹配。这消除了手动预分类文档的需要,极大地提高了处理效率。
- 规范化 (Normalization): 它能自动处理两种类型的规范化。一是_键规范化_,例如将文档中出现的“Total Revenue”、“Rev.” 和 “Sales” 等不同表述统一映射到标准的
total_revenue
字段。二是_值规范化_,例如将不同格式的日期(如 “10/05/2025”、“May 10, 2025”)和货币值转换为统一、标准的格式。 - 转换 (Transformation): 该功能可以将文档中的复杂字段分解为结构化的组件。一个典型的例子是将单行的地址信息(如 “123 Main St, Anytown, CA 90210”)自动拆分为独立的
street
、city
、state
和zip_code
字段,使其可以直接用于下游的数据库或应用程序。 - 验证 (Validation): 为了确保数据的准确性,该服务支持自动化的验证规则。用户可以定义数值范围、字符串模式(如正则表达式)、日期格式以及跨字段的逻辑检查(例如,确保“发货日期”晚于“订单日期”)。这有助于在数据进入下游系统之前自动识别质量问题,并根据需要触发人工审核。
利用蓝图实现快速、无代码的开发
“蓝图”(Blueprints) 是 Amazon Bedrock Data Automation 中的一个核心概念。它本质上是预先配置的指令或模式,用于定义需要从特定类型的文档中提取哪些信息。用户可以通过一个简单的界面来定义这些蓝图,而无需编写任何代码。该解决方案可以在单个项目中利用多个不同的蓝图,从而在一个统一的工作流中处理多种多样的文档类型,例如发票、驾照、入学申请表等。
解读置信度分数和边界框数据以增强可解释性
对于企业级应用而言,AI 系统的可解释性至关重要。Amazon Bedrock Data Automation 为每个提取的字段都提供了置信度分数,该分数量化了模型对其提取结果的确定性。该服务专门针对预期校准误差 (Expected Calibration Error, ECE) 进行了优化,这使得其提供的置信度分数更加可靠和准确,能够真实地反映模型的不确定性。
此外,服务还会返回每个提取值的边界框坐标。这些坐标将提取的数据与其在原始文档页面上的物理位置精确地关联起来。这一功能对于审计、合规性检查以及人工审核流程至关重要,因为它提供了清晰的视觉证据,解释了数据从何而来。
根据您的需求定制 IDP 工作流
此解决方案的架构体现了一种深思熟虑的设计哲学:“托管的简洁性与精细的逃生舱口相结合”。它为大多数用户提供了一条强大且易于使用的默认路径,同时允许在需要时进行完全定制,以满足特定的技术、法规或地理区域限制。这种架构设计并非偶然,而是企业级 AI 解决方案的最佳实践体现:从最高级别的托管服务开始,但系统设计要保持模块化,以便在必要时可以无缝切换到更底层、更可配置的服务,而无需重新设计整个工作流。这种固有的灵活性使架构更具弹性和前瞻性。随着未来新的模型或服务(例如,一种新的专业 OCR 服务)的出现,它们可以作为新的分支轻松集成到现有的 Amazon Step Functions 状态机中。编排逻辑保持稳定,而处理引擎可以被替换,从而避免了技术锁定,并使解决方案能够持续演进。
路径 A:使用 Amazon Bedrock Data Automation 的托管方法
这是默认且推荐的处理路径。在此路径中,工作流将文档定向到一个 Lambda 函数,该函数创建一个蓝图并启动一个异步的 Bedrock Data Automation 任务。这种方法在准确性、易用性和可扩展性之间提供了最佳的平衡,适用于绝大多数 IDP 场景。
路径 B:使用 Amazon Textract 和 Bedrock 基础模型进行高控制度的 OCR
对于那些需要对 OCR 过程进行精细控制,或者希望与现有 Amazon Textract 工作流集成的用户,此路径是理想选择。该过程分为两步:
- 一个名为 “Perform OCR” 的 Lambda 函数调用 Amazon Textract 来获取原始文本和布局数据。这些输出随后被格式化为 Markdown,以保留部分结构信息。
- 格式化后的 Markdown 文本被传递给一个名为 “Extract attributes” 的 Lambda 函数,该函数通过自定义提示调用一个 Bedrock 基础模型来执行最终的信息提取。
路径 C:直接调用多模态模型处理视觉文档
此流程非常适合处理富含图像或复杂布局的文档,如 .pdf
、.png
和 .jpg
文件。在这种情况下,“Extract attributes” Lambda 函数会将文档的每一页转换为图像。然后,这些图像连同属性模式一起,作为一个整体被传递给一个多模态的 Bedrock 基础模型。这充分利用了模型同时理解视觉布局和文本内容的能力,对于从表格、图表或非标准格式中提取信息特别有效。
处理特殊格式:使用 LangChain 处理 Microsoft Office 文档
对于 .doc
、.ppt
和 .xls
等 Microsoft Office 文档格式,系统设计了一个专门的 “Parse office” Lambda 函数。该函数利用 LangChain 框架中的文档加载器来提取纯文本内容。提取出的文本随后被传递给“Extract attributes” Lambda 函数(即路径 B 的第二步),以利用 Bedrock 基础模型进行信息提取。
IDP 处理路径比较
为了帮助决策者选择最适合其特定业务需求的路径,下表对不同处理路径的关键特性进行了比较。
特性 | 路径 A:Bedrock Data Automation | 路径 B:Textract + Bedrock FM | 路径 C:直接调用多模态 FM |
---|---|---|---|
易用性 | 最高 (托管服务) | 中等 (两步流程) | 中等 (需要提示工程) |
开发工作量 | 最低 (基于蓝图) | 高 (需要处理 OCR 和提示) | 高 (需要处理图像和提示) |
定制化程度 | 中等 (通过蓝图/选项) | 高 (完全控制 OCR 和 FM) | 最高 (完全控制模型和提示) |
关键特性 | 规范化、验证、分类 | 精细的 OCR 控制 | 原生视觉理解 |
理想用例 | 通用 IDP、多样化文档类型 | 文本密集的表单、现有 Textract 用户 | 基于图像的文档、复杂布局 |
支持格式 | 广泛 (PDF, Office, 图像) | 基于文本的 PDF、扫描图像 | PDF, PNG, JPG |
集成人机协同 (HIL) 工作流
何时以及为何需要人工审核
对于企业级解决方案而言,实现 100% 的自动化通常不是最终目标;真正的目标是实现_最大程度的可信自动化_。在许多场景中,人类的专业知识和判断力仍然是不可或缺的。以下是需要人工审核的关键场景:
- 当 AI 预测的置信度较低时进行验证。
- 有效处理模糊的边缘案例和异常情况。
- 通过人工监督确保满足法规合规性要求。
- 创建反馈循环,以随时间推移持续改进模型性能。
使用 Amazon SageMaker AI 构建 HIL 反馈循环的架构
该解决方案通过与 Amazon SageMaker AI 的无缝集成,实现了技术上的人工审核工作流。其流程如下:当 Bedrock Data Automation 处理完一份文档后,一个
bda-classifier
Lambda 函数会检查其输出。如果任何提取字段的置信度分数低于预定义的阈值,Amazon Step Functions 工作流就会自动将该文档路由到 Amazon SageMaker AI 进行人工审核。
审核人员使用一个定制的用户界面来验证或更正由 AI 提取的数据。这种设计将 AI 的精准高效与人类的判断力完美结合,形成了一个强大的闭环系统。
这个 HIL 工作流不仅仅是一个质量控制机制,它更是一个用于持续模型改进的集成数据引擎,从而创造了一个良性循环或“飞轮效应”。当审核人员在 Amazon SageMaker AI 界面中纠正一个低置信度的提取结果时,这个纠正行为(包括原始文档片段和经过人工验证的正确值)本身就产生了一个高质量的、已标注的数据点。这些宝贵的纠正数据可以被系统地存储和聚合。随着时间的推移,这将形成一个专门反映该组织特定文档类型和业务边缘案例的独特数据集。这个数据集正是微调底层基础模型所需的最理想的训练材料。因此,HIL 系统实际上在主动地生成用于自我改进的数据。这导致了一个战略性的运营成本转变:最初,人工审核是一项运营支出。然而,随着收集到的数据被用来微调模型,模型在该组织特定文档上的准确性会不断提高。这将导致平均置信度分数上升,需要路由到 HIL 的文档数量减少,从而降低了最初产生这些数据的运营成本。HIL 的成本从一项纯粹的开销,转变为一项对未来自动化效率的战略投资。
使用置信度分数阈值自动路由以进行人工验证
置信度分数是触发 HIL 工作流的关键机制。为了便于实施,可以为这些分数设定明确的解释和操作规则:
- 高置信度 (90–100%): 表示模型对其提取结果有很高的确定性,适合直接通过 (Straight-Through Processing, STP) 的自动化流程。
- 中等置信度 (70–89%): 表示结果有较高的可信度,但可能存在一些错误。这些文档可以被标记出来,用于后续的抽样检查或审计。
- 低置信度 (<70%): 表示模型存在高度不确定性,这些文档应被自动路由至人工审核队列进行强制性验证。
将解决方案从代码部署到云端
设置您的环境和本地工作站
在部署此解决方案之前,需要确保您的环境满足以下先决条件,这些要求基于 GitHub 仓库的说明:
- 一个有效的亚马逊云科技账户及配置好的 Amazon CLI。
- Node.js。
- Amazon CDK Toolkit。
- Python 3.9+。
- Docker Desktop。
使用 Amazon CDK 的分步部署指南
- 克隆****仓库:
git clone https://github.com/aws-samples/intelligent-document-processing-with-amazon-bedrock.git
- 安装依赖项:
sh install_deps.sh
- 激活虚拟环境:
source.venv/bin/activate
- 配置堆栈: 复制
config-example.yml
文件为config.yml
。在该文件中,指定您的stack_name
、前端部署选项,并将您的用户电子邮件地址添加到 Cognito 用户列表中。 - 配置 Bedrock 模型访问权限: 登录到您的亚马逊云科技账户,导航到目标区域的 Bedrock 控制台,并为您在配置文件中指定的模型请求访问权限。
- CDK** 初始化:**
cdk bootstrap
- CDK** 部署:**
cdk deploy
验证部署成功
解决方案实战:真实世界用例演练
用例 1:分析复杂的财务报表
- 目标: 从一份跨年度的财务报表中提取关键指标,并执行计算。
- 步骤 1:上传源文档: 用户通过 Web UI 上传一份财务 PDF 文件。
- 步骤 2:定义提取属性: 用户通过手动输入或上传 JSON 模式的方式,指定需要提取的字段,例如“2018年资产中的流动现金”、“2019年资产中的流动现金”等。
- 步骤 3:审查提取的结构化数据: 管道运行完成后,提取的结果会以结构化表格的形式显示在 UI 中。
- 步骤 4:验证提取准确性: 通过展示源文档的片段,可以确认 Bedrock Data Automation 成功地识别并提取了正确的数值。
- 步骤 5:执行复杂计算: 此步骤展示了模型的“理解与生成”能力。用户可以定义一个包含公式的新属性(例如,
(2019年营业利润 - 2018年营业利润) / 2018年营业利润
),并指示 Bedrock FM 基于已提取的值进行计算。
用例 2:处理和分类客户服务邮件
- 目标: 从客户投诉邮件中提取情感、紧急程度和关键细节。
- 步骤 1:摄入邮件数据: 用户将邮件内容保存为
.txt
文件并上传。
- 步骤 2:定义用于分类的属性: 用户定义需要提取的属性,如
sentiment
(1-5分)、summary
、customer_name
和delay_reason
。
- 步骤 3:通过少样本提示增强准确性: 对于像
delay_reason
这样可能存在歧义的字段,用户可以在属性描述中提供一个示例(即少样本提示),以指导 LLM 如何更准确地提取值。
安全与合规最佳实践
在 CloudFront 和 API Gateway 上实施 Amazon WAF
保护面向公众的端点至关重要。建议在 Amazon CloudFront 分配和 API Gateway 端点上都使用 Amazon Web Application Firewall (WAF),以抵御常见的 Web 漏洞攻击。此外,应为 CloudFront 配置现代化的安全策略,确保与查看者的连接至少使用 TLSv1.2。
身份与访问管理:使用 Amazon Cognito 的高级安全功能
为了增强用户账户的安全性,建议在 Cognito 用户池中实施多因素身份验证 (MFA)。同时,建议启用 Cognito 的 AdvanceSecurityMode
,以提供针对凭证泄露等风险的高级保护。
数据保护:KMS 密钥管理和轮换策略
建议对解决方案中使用的所有客户管理的密钥实施 Amazon Key Management Service (KMS) 密钥轮换策略。这不仅是安全最佳实践,也常常是满足特定行业法规合规性的要求。
处理受监管数据的注意事项
必须强调的是,该解决方案的默认配置_并未设计用于处理受监管数据_。处理受《健康保险流通与责任法案》(HIPAA) 或《通用数据保护条例》(GDPR) 等法规约束的数据,需要实施额外的安全控制措施。这可能包括确保所使用的所有的亚马逊云科技服务都符合 HIPAA 要求、实施更严格的访问控制,以及可能采用不同的架构模式(例如,使用 VPC 端点)来避免数据在公共互联网上传输。
通过自动化、智能的文档处理实现业务价值最大化
效率、决策和合规
本解决方案的核心价值主张可以概括为以下几点,呼应了第一部分的主题:
- 提升业务流程效率: 通过自动化重复性的人工工作,显著降低运营成本并缩短处理周期。
- 解锁更优的决策制定: 将海量的非结构化数据转化为可操作的洞察,揭示隐藏的模式和趋势,从而为战略决策提供数据支持。
- 简化合规流程: 自动执行敏感信息(如个人身份信息 PII)的脱敏处理,并提供可审计的提取结果,从而帮助企业满足日益严格的行业法规要求。
以上就是本文的全部内容啦。最后提醒一下各位工友,如果后续不再使用相关服务,别忘了在控制台关闭,避免超出免费额度产生费用~
新用户可获得高达 200 美元的服务抵扣金
亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的服务抵扣金,在探索关键亚马逊云科技服务时可以再额外获得最多 100 美元的服务抵扣金。使用免费计划试用亚马逊云科技服务,最长可达 6 个月,无需支付任何费用,除非您选择付费计划。付费计划允许您扩展运营并获得超过 150 项亚马逊云科技服务的访问权限。
更多推荐
所有评论(0)