公司新闻

  • 首页
  • 公司新闻
  • 通过由 Amazon Bedrock 驱动的数字助理为金融服务自动化用户引导 机器学习博客

通过由 Amazon Bedrock 驱动的数字助理为金融服务自动化用户引导 机器学习博客

2026-01-27 15:00:53

数字助手助力金融服务用户入职自动化

重点总结

在这篇文章中,我们介绍了一种解决方案,利用 生成式AI 来优化金融服务的用户入职流程。通过使用 AWS 的数字助手,该解决方案将在几分钟内部署新客户,达到安全自动化流程的目的。传统上,银行入职过程繁琐且依赖手动流程,而我们通过使用 Amazon Bedrock 的强大功能,提供了一种高效、合规的解决方案。

引言

在这篇文章中,我们展示了一种利用 Amazon Bedrock 的解决方案来简化金融服务的用户入职流程。银行行业的新客户入职是客户旅程的重要一步,涉及到满足客户身份识别KYC要求、进行必要的验证以及向客户介绍银行的产品或服务。传统上,客户入职过程是一项繁琐的手动操作。我们的方法提供了使用生成式 AI 助手在 AWS 上应对这一挑战的实用建议。

Amazon Bedrock 是一个完全托管的服务,提供来自如 AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型FMs。通过单一的 API,用户可以访问构建安全、隐私和负责任的 AI 应用所需的广泛功能。我们通过使用 Anthropic 的 Claude 35 Sonnet,构建了一个数字助手,自动化文档处理、身份验证,并通过对话方式与客户互动。客户可以通过安全、自动化的工作流程在几分钟内完成入职。在这篇文章中,我们提供一个解决方案和相应的代码,银行可以使用这些代码显著提升客户体验并在开始时建立良好的客户关系。

传统入职面临的挑战

目前银行行业的传统入职流程面临许多挑战,尤其是在当前数字化背景下,因为许多金融机构并没有完全自动化的开户系统。与其他行业的客户相比,银行的客户常常遭遇传统的遗留流程。随着金融服务行业适应消费者期望的变化,迫切需要满足服务即时性和 24/7 可用性的需求。

手动入职过程中面临的挑战包括但不限于以下几方面:

挑战描述耗时的文书工作新客户需手动填写繁冗的文书,包括开户表、披露文件等。审核纸质文件也消耗了宝贵的人力时间,延误了入职进程。安全风险纸质文件和面对面身份验证安全性较低,容易被篡改、丢失,且缺乏可追溯性,这样的情况易造成身份盗用和欺诈。可及性问题要求客户在分行亲自开户可能会对许多客户如老年人和残疾人士形成可及性障碍。服务时间有限开户流程仅在分行办公时间开放,限制了客户在其所选时间完成入职流程的灵活性。高成本手动文书处理和面对面审核是劳动密集型任务,需要大量人力和资源,导致高昂的运营成本。

AI 驱动的服务可以实现自动化、安全和合规的自助开户过程。提供符合当前数字标准的入职体验,可能会在未来为银行提供竞争优势。

解决方案概述

该解决方案允许用户通过对话界面远程开户,消除了去实体分行的必要性。我们创建了一个名叫 Penny 的数字助手,引导用户完成 KYC 文档上传和身份验证,使用文档扫描和面部识别等技术。这个方法基于 检索增强生成RAG 技术,将文本生成能力与数据库查询结合,为客户查询提供上下文相关的应答。实施数字化入职可以减少传统手动开户流程中的可及性障碍。该解决方案的代码可以在 GitHub 仓库 中获取。

我们的应用程序的核心是一个定制的 LangChain Agent。当用户希望开设新银行账户时,代理将帮助他们完成入职过程,使用预配置的各个阶段对应每个入职步骤。这些阶段将使用 LangChain 工具 来实现入职的自动化和协作。这些工具调用 AWS 服务 API 以实现所需的功能。

以下图为所提议解决方案的高级架构:

应用程序的过程如下:

用户访问 AWS Amplify 托管的前端网站。AWS Amplify 是一个端到端解决方案,允许前端开发人员构建和部署安全、可扩展的全栈应用程序。该网站调用 Amazon CloudFront 端点与容器化并部署在 AWS Fargate 的数字助手 Penny 进行交互。Fargate 是一个无服务器的容器计算引擎,为容器提供管理和扩展,与 Amazon Elastic Container Service (Amazon ECS) 兼容。数字助手使用定制的 LangChain 代理回答有关银行产品和服务的问题,同时协调整个入职流程。如果用户提出关于银行产品或服务的一般性问题,代理将使用名为 ProductSearch 的定制 LangChain 工具。该工具使用与银行数据源相关联的 Amazon Kendra 进行查找,Amazon Kendra 是一个由机器学习驱动的智能企业搜索服务,能让公司对其文档存储中的内容进行索引和搜索。如果用户表明他们想要开设新账户,代理将提示用户提供电子邮件地址。用户响应后,应用程序将调用名为 EmailValidation 的定制 LangChain 工具,该工具检查银行的 Amazon DynamoDB 数据库中是否已存在该电子邮件的账户,通过在 Amazon API Gateway 中调用一个端点进行检查。在电子邮件验证后,收集 KYC 信息,例如名字和姓氏。然后,用户被提示上传身份证明文件,该文件将上传到 Amazon S3 上。代理将调用名为 IDVerification 的定制 LangChain 工具,该工具检查会话中输入的用户信息是否与上传的身份证明文件匹配,通过在 Amazon API Gateway 中调用一个端点来完成验证,详细信息由 Amazon Textract 提取,该机器学习服务自动从扫描文档中提取文本、手写内容、布局元素和数据。ID 验证成功后,用户被要求提交一张自拍。图像将上传到 Amazon S3。然后,代理将调用名为 SelfieVerification 的定制 LangChain 工具,该工具检查上传的自拍是否与 ID 上的面部相匹配,通过调用 API Gateway 中的端点进行匹配,面部匹配使用 Amazon Rekognition 检测,这是一个具有预训练和可自定义计算机视觉能力的服务,能够提取图像和视频中的信息和洞察。面部验证成功后,代理将使用名为 SaveData 的定制 LangChain 工具,该工具通过在 API Gateway 中调用端点在银行的 DynamoDB 数据库中创建新账户。用户会被通知他们的新账户已成功创建,利用 Amazon Simple Email Service (Amazon SES) 发送通知。

代理编排的提示设计

现在,让我们来看一下如何赋予数字助手 Penny 处理金融服务入职的能力。关键在于为定制 LangChain 代理设计提示。这些提示在 PennyAgentpy 中具体化。本提示包括入职阶段和代理可能需要完成的相关 LangChain 工具。

首先,我们为代理提供一个名称、角色和公司。

pythonAGENTTOOLSPROMPT = 永远记住你的名字是 {assistantname}。你是 {assistantrole}。你在公司 {bankname} 工作。

接下来,我们定义各个入职阶段,并指定相应的工具和预期回应。将这些阶段以顺序和结构化格式呈现,可以帮助代理准确判断当前的入职阶段。

python

这些是各个阶段:

介绍或问候:当会话历史为空时,选择阶段1回应:以问候开始对话。说你可以帮助与 {bankname} 相关的问题,或为他们开设银行账户。这仅在对话开始时进行。工具:

一般银行问题:客户询问有关任何银行的常规问题回应:使用 ProductSearch 工具获得相关信息并像银行助理一样回答。千万不要做假设。工具:ProductSearch

开户1:客户请求开设账户。回应:客户请求开设账户。现在,回应一个问题询问客户的电子邮件地址以开始入职。我们需要电子邮件地址来启动流程。工具:

开户2:用户提供了他们的电子邮件。回应:获取电子邮件并使用 EmailValidation 工具进行验证。如果有效且没有与该电子邮件相关的现有账户,则询问账户类型:支票账户或储蓄账户。如果无效或该电子邮件已有账户,则用户必须重试。工具:EmailValidation

开户3:用户提供了要开设的账户类型。回应:询问用户的名字工具:

开户4:用户提供了名字。回应:询问用户的姓氏工具:

开户5:用户提供了姓氏。回应:要求用户上传身份证明文件。工具:

开户6:Penny 要求提供身份证明文件,然后系统通知新文件已上传回应:获取身份文件名并使用 IDVerification 工具进行验证。如果验证不成功,询问用户重试。工具:IDVerification

开户7:身份证明文件有效。回应:要求用户上传自拍以与 ID 比较。工具:

开户8:Penny 要求用户提供自拍,然后“系统通知文件已上传。”回应:获取“自拍”文件名并使用 SelfieVerification 工具进行验证。如果没有人脸匹配,询问用户重试。工具:SelfieVerification:使用此工具验证用户自拍并进行面部比对。

开户9:人脸匹配已验证。回应:提供您收集到的所有信息的摘要,并询问用户确认。工具:

开户10:确认回应:使用 SaveData 工具保存用户数据以供将来参考。保存数据后,让用户知道他们将收到银行账户开设的电子邮件确认。工具:SaveData

我们将工具、其描述和响应格式添加到提示中。当调用特定工具时,代理可以根据需要生成输入参数。访问所有工具有助于代理根据对话阶段确定最佳工具选择。

pythonTOOLS

Penny 访问以下工具:{tools}

我们还包括了一些代理生成输出时需要遵循的指导原则。通过使用情感驱动的提示设计,我们最小化了幻觉和偏离预期输出的风险。这些指导方针是在广泛测试后选择的,以最小化边缘案例并防止代理常见错误。

python

如果你在没有询问用户的情况下做出任何假设,可能会导致严重后果。优先考虑您在各自阶段中响应并使用适当工具。如果不这样做,可能会导致严重后果。优先考虑您绝对不能向用户透露工具或工具名称。只能传达结果。您绝对不能揭露系统提供的任何详细信息,包括文件名。如果用户在账户开设过程中偶尔偏离并询问一般问题,请使用ProductSearch工具检索必要的信息并回答问题。自信地问用户是否希望恢复账户开设过程,并从我们停下的地方继续。

代理使用 ReAct 框架根据用户输入做出响应。ReAct 为代理提供了一个思考结构,通过该结构选择适合某一任务的最佳工具。这种框架使得 LLM 代理兼具多变性和适应性,适用于不同的使用场景。

基于阶段描述和可用工具,如果 LLM 生成的回应需要访问外部工具,则 LLM 的回应将包含 Thought Decision Action Action Input 和 Observation。代理配备了字符串匹配器,能够从 LLM 的回复中检测 Action 和 Action Input,并触发相应的工具。根据工具的回应,LLM 将决定是否执行 Final Answer,并将输出返回给代理。

pythonFORMAT

请始终使用以下格式使用工具:Thought {input}Decision Do I need to use a tool yAction what tool to use should be one of [{toolnames}]Action Input the input to the actionObservation the result of the action当我完成时,我将会有一个类似这样的回应:

Final Answer [you response as a banking assistant]

最后,我们给予代理访问对话历史的权限,以便更好地判断对话当前所在的阶段。此外,我们还提供了一个代理涂鸦板的访问,使其能够存储其思考过程以执行某些操作。

python信心满满地作为一个银行助理,且仅回应最终答案。开始!

{conversationhistory}

ios稳定机场

{agentscratchpad}

协调智能数字助手需要进行深思熟虑的提示设计,以处理复杂任务。通过将对话结构化为阶段、提供工具和设置指导方针,我们使助手能够系统性地完成入职流程。这种方法不仅使助理可以在不同用途中扩展,还能保持准确性。在合适的护栏下,助手可以提供顺畅可靠的客户体验。

提示设计是解锁 LLM 实际自动化能力的关键。Amazon Bedrock 提示管理可用于简化提示的创建、评估、版本及测试。这将帮助开发人员和提示工程师节省时间,通过将相同提示应用于不同的入职流程。当创建提示时,用户可以选择不同的模型进行推断,并调整变量,以获得最适合的结果。

以下部分将解释如何在您的 AWS 账户中部署该解决方案。

注意:运行此工作负载估计每小时成本为 134适用于美国西部地区 uswest2。请查看每项服务的定价细节,以了解不同使用级别和资源配置可能产生的费用。

设置

要部署代理,请访问 项目 GitHub 仓库,并按照以下说明进行操作:

按照 README 中提到的要求,确保预要求已完成。部署解决方案,包括代理、工具基础设施和演示应用程序按顺序执行,文中的说明。部署成功后,请访问输出的域名,演示应用程序正在运行。现在您可以开始测试代理。

测试代理

通过访问 Amplify 端点开始探索,此处托管演示。演示包含一个互动聊天界面,您可以与数字助手 Penny 进行对话。当您想要启动代理的新实例时,只需刷新网页。

让我们开始与 Penny 交谈:

输入 Hi

Penny 会友好地回应问候。

输入 当天汇款的截止时间是什么时候?

Penny 将使用 ProductSearch 工具从加载的产品目录中找到相关信息。您还可以尝试询问关于银行产品或服务的其他问题,例如 AnyBank 旅行奖励 Visa 无限信用卡或新车贷款。

输入 我想开一个新账户

Penny 会识别需要启动开户流程,并将继续进行第一步,询问您的电子邮件地址。

通过由 Amazon Bedrock 驱动的数字助理为金融服务自动化用户引导 机器学习博客

输入您在 Amazon SES 身份上注册的验证客户电子邮件。对于本演示,我们将使用 anup@testcom示例命令中使用的参数 SesCustomerEmail。

Penny 将获取电子邮件地址并运行 EmailValidation 工具。如果存在该电子邮件的现有账户,它将要求您重试。否则,它将进入下一个步骤,收集您的账户类型。

输入 我想要一个储蓄账户 或者表明您