在本系列的上篇中,我们展示了如何使用Amazon Bedrock和亚马逊云科技自研Amazon Nova多模态大语言模型构建WhatsApp AI助手,并支持移植到微信,从而处理图像、视频、文档和音频等多媒体内容,并通过亚马逊云科技End User Messaging实现与聊天软件直接集成的方案介绍。在下篇中,我们将通过代码库中的代码进行方案实操,手把手真实构建一个聊天软件的AI自动回复、媒体内容自动分析应用。

方案整体云平台架构图 

方案数据流介绍

whatsapp_in函数模块
transcriber_doneAgentHistory

    5. bedrock_agent Lambda函数模块处理消息并生成响应。
    6. 响应通过WhatsApp聊天应用UI返回给用户。

本方案的搭建会产生一定的云端费用,定价详情请参阅亚马逊云科技官网价格模型页面。

​​​

代码库中的关键文件

app.pyprivate_assistant_v2_stack.pylambdas/code/layers/agent_bedrock/create_agent.py

🧰 方案实操步骤

云端基础设施部署

克隆仓库:

git clone https://github.com/build-on-aws/building-gen-ai-whatsapp-assistant-with-amazon-bedrock-and-python cd private_assistant_v2

创建并激活虚拟Python环境:

python3 -m venv .venv source .venv/bin/activate # Windows 使用 `.venv\Scripts\activate`

安装依赖项:

利用AI Agent代理集成聊天软件处理多模态消息(可移植到微信)(下)pip install -r requirements.txt

将Python代码生成CloudFormation脚本模板:

cdk synth

开始部署🚀:

cdk deploy

注意:部署完成后,请记录该部署在命令行的输出值,尤其是SNS主题ARN(Topic ARN ID),它将用于后续的WhatsApp集成配置。

基础设施修改和配置

激活WhatsApp账号

  • 使用新的WhatsApp Business平台

  • 获取API访问令牌(WhatsApp API)

  • 了解Messenger API for Instagram的定义和文档

应用设置(APP Set Up)

  • 设置WhatsApp Business账户,并按照亚马逊云科技End User Messaging Social指南配置,将消息发送到本项目创建的消息服务SNS的主题。
  • 可以参考使用亚马逊云科技End User Messaging Social自动化WhatsApp工作流的博客获取更详细的步骤。

自定义Bedrock代理行为(可选)

private_assistant_v2/agent_data.json

调整环境变量(可选)

private_assistant_v2_stack.py

测试

我们可以通过以下方式测试AI助手:

whatsapp_in
bedrock_agentbedrock_agent

    3. AI助手的响应将通过WhatsApp返回给用户。具体的效果如下

清理删除实验环境

如果测试完成并希望清理应用程序避免造成资源浪费和意外云资源花销,请执行以下步骤:

  1. 删除部署过程中创建的Amazon S3存储桶中的所有文件。
  2. 运行以下命令销毁之前创建CDK堆栈
cdk destroy

总结

本文介绍了如何使用Amazon Bedrock和Amazon Nova模型构建WhatsApp AI助手,以处理多媒体内容(文本、音频、图像、视频、文档),并集成亚马逊云科技End User Messaging进行直接通信方案的实操实验步骤。我们详细讲解了数据流、关键技术组件、部署步骤、测试方法以及清理指南,希望能帮助大家快速搭建自己的WhatsApp AI助手,实现更智能的用户交互体验。