跳到主要内容
AI News HubLIVE
站内改写4 分钟阅读

使用Pulse AI和Amazon Bedrock构建金融文档处理

文章摘要

本文演示如何构建一个文档提取和模型微调管道,以处理复杂金融文档的挑战。通过结合Pulse AI的先进文档理解能力与Amazon Bedrock的强大AI服务,组织可以实现企业级精度,并大规模提取上下文相关的金融洞察。

来源AWS Machine Learning Blog作者: ND Ngoka
使用Pulse AI和Amazon Bedrock构建金融文档处理
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

金融机构每天处理数千份复杂文档。金融数据中的光学字符识别(OCR)错误可能通过相互关联的计算传播,影响分析准确性。虽然标准法律文档中的单个OCR错误可能只需快速手动更正,但金融数据中的同一错误可能级联导致系统分析错误,给组织带来潜在的高额成本。

传统OCR工具在处理机构日常处理的复杂金融文档时严重不足——资产负债表、损益表、SEC文件、研究报告和审计材料。这些文档具有复杂的表格结构(含合并单元格和分层数据)、多列布局(含相互引用)以及需要语义理解的上下文相关信息。传统OCR方法将这些文档视为图像,忽略了使金融文档具有意义的结构关系和上下文细微差别。结果就是一系列手动更正、数据录入延迟和系统性分析错误。

本文演示如何构建一个文档提取和模型微调管道来解决这些关键挑战。通过结合Pulse AI先进的文档理解能力与Amazon Bedrock的强大AI服务,组织可以实现企业级精度,并大规模提取上下文相关的金融洞察。Amazon Bedrock提供完全托管的模型定制,零机器学习运维开销,无需容量规划的按需部署,而Nova模型系列提供了强大的成本性能比,使团队能够专注于创新而非基础设施。

与传统单片OCR管道不同,Pulse将视觉语言模型与专门为文档理解设计的经典ML组件集成,创建了一个智能解决方案,能够提取具有语义意识的结构化数据,为金融领域模型生成改进的监督微调数据集,并支持部署在特定金融数据上训练的自定义大型语言模型(LLM)。Pulse已部署在包括三星、Cloudera、Howard Hughes以及财富500强金融机构和领先私募股权公司在内的全球企业中,处理大量金融和运营文档。

在一次部署中,一批约1000份复杂金融文档,之前需要多天周转,现在在不到三小时内处理完成,生成了结构化的、可审计的输出,可用于下游分析和AI应用。

总结来说,Pulse AI和Amazon Bedrock共同提供:

  • Pulse AI从复杂金融文档中提取结构化、语义感知的数据,处理复杂的表格、多列布局和分层数据。
  • Amazon Bedrock在该高质量数据上微调Amazon Nova模型,为组织的金融惯例创建领域特定的智能。
  • 然后,自定义模型以组织特定的理解处理新文档,将手动审查从几天减少到几小时。

以下工作流程展示了一种构建由AI驱动的智能金融应用的方法。从原始金融文档开始,管道编排了一系列复杂步骤——从文档处理、微调到部署——创建一个为金融数据分析和洞察量身定制的自定义AI解决方案。

系统首先(步骤1)将文档摄取到您VPC中的Pulse容器或Pulse软件即服务(SAAS)产品中。Pulse模型处理金融文档(步骤2)。提取数据的输出转换为Amazon Bedrock Nova Micro监督微调格式,然后存储在Amazon Simple Storage Service(Amazon S3)中(步骤3)。

然后,工作流程使用Amazon Bedrock的其他扩展功能:

利用Amazon Nova Micro(amazon.nova-micro-v1:0)运行监督微调作业,这是一个专为基于文本的提取任务设计的经济高效模型,具有128K上下文窗口(步骤5和6)。Nova Micro提供有竞争力的价格性能。作业完成后,部署生成的模型进行按需推理。您也可以为需要一致性能的关键任务工作负载使用预置吞吐量。使用Playground中的测试来评估和比较响应。生成的自定义模型导入Amazon Bedrock(步骤8),并通过预置吞吐量部署(步骤9),为可扩展的终端用户应用提供动力(步骤10)。该架构将领域特定的金融数据集与自定义监督微调模型相结合,使组织能够构建生产就绪的AI应用,在保持性能和成本效率的同时理解金融上下文。

前置条件

要遵循本文,您必须具备以下条件:

  • AWS账户——需要访问AWS服务,包括Amazon Bedrock和用于数据集的S3存储。
  • 允许Amazon Bedrock访问S3数据集的AWS Identity and Access Management(IAM)策略——授予Amazon Bedrock安全地读取和处理您S3存储桶中数据的必要权限。
  • Pulse Standard账户(在runpulse.com注册)——需要集成Pulse系统并访问其功能。
  • AWS区域要求:us-east-1。
  • Python 3.12或更高版本。
  • 实例类型:t3.medium。
  • Amazon Elastic Compute Cloud(Amazon EC2)实例按小时收费。请记住在完成本教程后终止实例以避免持续费用。
  • Amazon Linux 2023(最新版)。
  • 公开财务报表:https://www.impact-bank.com/user/file/dummy_statement.pdf。
  • S3训练数据存储桶:s3://<your-bucket-name>/training-data/。

注意:本教程会创建AWS资源并产生费用,包括:EC2实例(按小时)、S3存储(每GB每月)、Amazon Bedrock微调(每训练小时)、预置吞吐量部署(按小时)和AWS Secrets Manager(每个密钥每月)。

逐步实现

按照以下步骤设置和配置使用Pulse AI和Amazon Bedrock的金融文档处理管道。

  1. 导航到Pulse控制台并创建一个账户。
  2. 使用AWS控制台启动EC2实例。

- 导航到EC2控制台。 - 选择启动实例。 - 在AMI选择屏幕中,搜索Amazon Linux 2023 AMI。 - 选择Amazon Linux 2023 AMI。 - 在实例类型屏幕中,选择t3.medium。 - 创建新的密钥对用于SSH访问Linux实例。 - 在安全组配置中,添加一条规则允许从您的IP地址进行SSH(端口22)。 - 选择启动。 - 保存成功消息中出现的实例ID。

  1. 从RunPulse创建您的API密钥。
  2. 查找您的实例的公共DNS:

- 导航到EC2控制台。 - 选择您的实例。 - 从详细信息选项卡复制公共IPv4 DNS值。

  1. 要连接到您的EC2实例,运行以下SSH命令。将YOUR_KEY_FILE.pem替换为您的实际密钥对文件名,YOUR_INSTANCE_DNS替换为步骤4a中的公共IPv4 DNS值:

ssh -i YOUR_KEY_FILE.pem ec2-user@YOUR_INSTANCE_DNS 示例:ssh -i my-keypair.pem [email protected]

  1. 在您的EC2实例上,通过运行aws configure配置您的AWS凭证。在提示时,输入您的访问密钥ID、秘密访问密钥、区域(us-east-1)和输出格式(json)。
  2. 使用以下命令将您的Pulse API密钥存储在AWS Secrets Manager中:

aws secretsmanager create-secret --name pulse-api-key --secret-string "your-api-key" 记下ARN,因为权限策略需要它。 注意:AWS命令行界面(AWS CLI)版本2默认预装在Amazon Linux 2023 AMI上。

  1. 在您的EC2实例上,安装runpulse SDK:

- 安装pip:sudo yum install pip - 安装Pulse Python SDK:pip install pulse-python-sdk

  1. 在您的EC2实例上,在当前工作目录中创建一个名为bedrock-trust-policy.json的文件,配置如下所示。您可以使用nano或vi等文本编辑器:

nano bedrock-trust-policy.json 创建bedrock-trust-policy.json: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "your-aws-account-ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock:us-east-1:your-aws-account-ID:model-customization-job/*" } } } ] } 创建bedrock-permissions.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "S3AccessForFineTuning", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] }, { "Sid": "SecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DescribeSecret" ], "Resource": [ "arn:aws:secretsmanager:us-east-1:your-aws-account-ID:secret:your-secret-name-*" ] } ] }

  1. 然后创建角色:

aws iam create-role --role-name AmazonBedrock-FineTuning-S3-Role --assume-role-policy-document file://bedrock-trust-policy.json --description "Role for Bedrock fine-tuning with S3 and Secrets Manager access" 预期输出:包含角色ARN、ID和创建时间戳的JSON。接下来,

  1. 创建权限策略:

aws iam put-role-policy --role-name AmazonBedrock-FineTuning-S3-Role --policy-name Bedrock-S3-Access-Policy --policy-document file://bedrock-permissions.json

  1. 查看角色和信任策略:

aws iam get-role --role-name AmazonBedrock-FineTuning-S3-Role

  1. 要从参考金融文档中提取数据集,在EC2实例上运行以下命令:

# 从Secrets Manager检索API密钥。安全最佳实践:不要硬编码凭证。从AWS Secrets Manager检索。 curl -X POST https://api.runpulse.com/extract \ -H "x-api-key: $(aws secretsmanager get-secret-value --secret-id pulse-api-key --query SecretString --output text)" \ -H "Content-Type: application/json" \ -d '{ "file_url": "https://www.impact-bank.com/user/file/dummy_statement.pdf", "figureProcessing": {"description": true}, "extensions": {"altOutputs": {"returnHtml": true}} }' > pulse_output.json Pulse AI示例提取的JSON片段已省略。

通过以上步骤,您可以构建一个强大的金融文档处理管道,利用Pulse AI和Amazon Bedrock实现高精度和高效的文档处理。

展开要点与分析

文章情报

工程师中级

要点

  • 传统OCR在处理金融文档(如资产负债表、SEC文件)时存在表格结构、多列布局和语义理解等挑战。
  • Pulse AI集成视觉语言模型和经典ML组件,实现结构化数据提取和语义感知。
  • Amazon Bedrock提供完全托管的模型微调,使用Nova模型系列进行领域特定定制。
  • 实际部署中,约1000份复杂文档的处理时间从数天缩短至3小时以内。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。

使用Pulse AI和Amazon Bedrock构建金融文档处理 | AI News Hub