对于每月处理数千份公用事业账单的客服团队来说,准确解析复杂的多页文档是一项挑战。账单格式不一、表格密集、版式多样,使得快速提取准确信息变得困难,进而造成响应延迟、计费错误和客户不满。随着文档量增长,这些问题会不断累积,让组织难以利用手中已有的数据。
Amazon Bedrock 与 Amazon Textract 集成提供检索和生成能力。Textract 以高准确率抽取结构化与非结构化内容,Bedrock 提供生成式 AI,使组织从人工翻阅文档转向程序化查询,从而大规模解锁账单中的可行洞察,带来更快更准的客户交互。本文将演示如何与 PDF 和图像格式的公用事业账单对话、解析分析内容、标记相关表格,帮助 LLM 提取最有价值的信息。相关代码已发布在 GitHub。
客户服务团队收到的账单查询涉及计费、用量、支付和客户服务等多个领域,源文件包括 PDF、DOCX、TXT、HTML 和 XLSX。最初团队尝试直接把账单原样输入 RAG 模型,结果并不理想:LLM 会漏掉付款到期日、金额和账号等关键细节,有时还会产生幻觉,给出错误或不相关内容;同时不同格式导致模型表现不稳定。这让他们认识到,简单加载原始文档无法得到可靠准确的答案,必须对账单进行预处理和增强。
该方案支持 PDF、DOCX、TXT、HTML、XLSX、PNG。Amazon Textract 可从多页 PDF 中提取文本,包括复杂版面与嵌入图像;能解析 Word 文档中的表格、图片和对象;能从 HTML 标签及 Excel 单元格中读取结构化数据;也能读取普通文本和 PNG 图片。通过集成 Amazon Textract 与 Amazon Bedrock,可以实现高级文本提取:Textract 预处理各类账单,去除噪声和不相关信息;然后利用上下文理解对数据做标注和打标,让 LLM 更容易处理并生成准确响应。
部署方面,GitHub 仓库提供 shell 脚本,运行 bash custom_kb_deployment_setup.sh 即可创建 AWS CloudFormation 栈。该栈会创建 Lambda 执行角色、Lambda layer、两个 Lambda 函数、S3 存储桶、OpenSearch Serverless 集群、Amazon Bedrock Knowledge Bases 以及相应的 IAM 角色。部署完成后,需要在 S3 控制台找到名为 document--的桶,创建 raw_files 文件夹并上传示例账单。
上传文件会自动触发文档解析 Lambda。Amazon Textract 作业处理原始文件并将结果保存到 parsed_files,随后另一个 Lambda 将文件转换为 TXT 格式,最终输出到 parsed_kb_documents。接着在 Amazon Bedrock 控制台选择知识库、数据源并执行 Sync,等待同步完成。测试时,在文本知识库配置中选择 Amazon Nova Micro 模型,即可在右侧文本框针对账单提问。文中附带的对比图显示,使用该自定义知识库方案能得到更完整、准确的输出,而不用该方案时模型容易遗漏关键信息或产生幻觉。
生产环境中部署 RAG 方案时,建议启用 Amazon Bedrock Guardrails 过滤有害内容、阻断敏感话题、对输入输出中的个人信息做脱敏,并通过 grounding validation 检查模型回答是否来自检索文档,以减少幻觉。该方案尤其适合处理大量结构化文档的组织,未来还可扩展支持更多文档类型、集成更多 AWS 服务,或开发友好的前端界面,帮助用户更方便地与知识库交互。