AWS 演示用 Textract 定制 Bedrock 知识库,处理复杂长文档
AWS 发布参考方案,把 Amazon Textract 与 Amazon Bedrock 知识库结合,提升水电燃气账单等表格密集长文档的 RAG 准确率。
AWS 在其机器学习博客中给出一套方案,用于定制 Amazon Bedrock 知识库,使其能处理体量大、结构复杂的文档。文中场景是一支每月处理数千份水电燃气账单的客服团队:格式不统一、表格密集、版式各异,导致取值困难。
文章介绍,该客户最初直接把原始账单喂给检索增强生成(RAG)流程,效果不理想:大语言模型(LLM)遗漏关键细节,部分情况下出现幻觉,返回错误或无关的信息。团队由此判断,仅加载原始文档不足以得到可靠回答,必须先做预处理。
在检索前加入 Textract
新方案把文本抽取服务 Amazon Textract 放在 Bedrock 之前。Textract 负责抽取结构化与非结构化内容,对相关表格打标签,再转换成模型可用的格式。这样账号、账单明细、付款说明等字段就能被程序化查询,而不是埋在 PDF 里。当前支持的文件类型包括 PDF、DOCX、TXT、HTML、XLSX 和 PNG。
部署方式与安全护栏
部署通过一个 shell 脚本启动 AWS CloudFormation 堆栈完成。该堆栈会创建 Lambda 函数、S3 存储桶、一个 OpenSearch Serverless 集群以及 Amazon Bedrock 知识库。堆栈部署完成后,还需配置 S3 存储桶、上传示例文档并设置知识库;上传的文件会被自动处理成适合知识库的格式。
对于生产环境,AWS 建议开启 Amazon Bedrock Guardrails。该功能提供可配置的控制项,用于过滤有害内容、屏蔽被禁止的话题,并对输入和输出中的敏感信息做脱敏处理。此外,接地校验会评估模型回答是否有检索到的源文档支撑,从而减少幻觉。
示例代码已放在 GitHub 上。完整步骤见 AWS 博客文章。