智能 Agent —— 基于 Amazon Step Function 和 Amazon Bedrock 实现链式 Prompting

*实验环境账号有效期为 1 天,到期自动关停,请注意重要数据保护
*点击右侧按钮免费注册海外区账号,即刻正式开始属于你的系统构建吧!

实验手册

前 言

欢迎来到 Amazon Bedrock Serverless Prompt Chaining 实验!

在本实验中,您将了解如何通过 Amazon Bedrock、Amazon Lambda、Amazon Step Functions 服务实现生成式人工智能模型生成小说。

1. 架构简介

什么是 Prompt Chaining?

Prompt Chaining 是一种扩展和增强与模型对话的方式,通过使用生成的文本作为下一个提示的基础。它可以用于分解复杂任务,逐步引导模型生成更符合需求的结果。

项目架构

作为演示生成式人工智能应用程序的一部分。基于 Streamlit 的演示应用程序执行每个示例的 Step Functions 状态机并显示结果,包括由 Bedrock 中的基础模型生成的内容。Step Functions 状态机是使用 Python 中的 Amazon CDK 定义的。

1.1 进入登录页面

扫码登陆:

1.2 登录操作界面

打开 Amazon Cloud9 实验环境

打开控制台,搜索 Cloud9

点击 Cloud9,打开 Cloud9 控制台界面

2. 部署项目

本章目录

  • 打开并设置工作空间
  • 下载和部署项目

2.1 打开并设置工作空间

下载代码

点击 Cloud9  进入 Cloud9 控制台

打开工作空间

设置工作空间权限

  • 找到设置选项

关闭临时身份

等待 5 秒钟,以完成身份切换。
检查身份是否切记换完成
执行以下命令:

aws sts get-caller-identity

如果看到 Arn 变更为 *CloudLabCompaignStack*,说明身份切换成功:

2.2 下载和部署项目

下载代码

1. 从 GitHub  下载代码。

git clone https://github.com/aws-samples/build-genai-agent-workflows-with-step-functions

更新 NPM

sudo npm install -g npm

安装 CDK

sudo npm install -g aws-cdk

安装 Python 依赖

cd build-genai-agent-workflows-with-step-functions/
pip install -r requirements.txt

通过 CDK 部署项目

cdk deploy --all

构建过程:

输入 y 确认部署:

等待部署完成

部署大致需要 5 分钟,过程大致如下:
部署过程:

部署完成

部署完成后,输出如下:

单机图示链接,打开项目地址。

3. 体验项目

找到部署的项目 CloudFormation 堆栈

您也可以在 CloudFormation 找到部署的项目。

1. 打开 CloudFormation 控制台

https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2 

2. 找到并选择部署的项目

3. 项目主页

4. Story writer demo 页面

5. 生成结果以前,需要申请权限。

如果是 Cloud Lab 创建的 Workshop 则无需申请权限。

请点击链接进入控制台:https://us-west-2.console.aws.amazon.com/bedrock/home?region=us-west-2#/modelaccess 

  • 点击图示按钮
  • 确认申请的权限

6. 开始生成结果

7. 生成过程

8. 生成结果

9. 了解工作流运行细节

打开 Step Functions 控制台:https://us-west-2.console.aws.amazon.com/states/home?region=us-west-2# 

打开工作流:

打开任务:

查看任务

4. 修改模型输出语言

本章目录

  • 修改代码
  • 更新堆栈
  • 查看效果

4.1 修改代码

修改代码

1. 打开代码文件

文件位置:stacks/story_writer_stack.py

2. 修改代码

在指定位置增加:

Please translate the content into Simplified Chinese before returning the results.

4.2 更新堆栈

更新堆栈

1. 在命令行输入以下命令,更新堆栈:

cdk deploy --all

2. 等待堆栈更新完成

4.3 查看效果

查看效果

1. 点击按钮生成新小说

2. 生成过程

3. 生成结果

5. 挑战赛

本章目录

  • 挑战赛说明

5.1 挑战赛说明

说明

欢迎来到挑战赛,经过上面的章节,您已经掌握了如何更新代码,更新线上应用程序。

本挑战赛的内容是:

尝试修改代码,让模型生成多个章节的小说,每个章节 3000 字。

加油吧!

总结

恭喜,您已经完成了整个动手实验!在这个实验里,您部署了一个基于 Amazon Bedrock,Amazon Step Functions,Amazon Lambda 和 Amazon Fargate 等 Serverless 服务搭建的 AI Agent 工作流。这个工作流实现了 Prompt chaining。把一个复杂的任务分解成多个步骤,多次调用大语言模型,稳定可靠的完成任务。