今天小李哥将继续介绍亚马逊推出的国际前沿人工智能AI大模型平台Amazon Bedrock上的Agent的功能。我们将利用Agent结合应用代码工作流服务Step Functions创建链式提示词(Prompt Chaining),通过提示词执行一系列调用Amazon Bedrock上AI大模型的操作写一篇小说。其中架构前端使用了Streamlit框架开发,为用于提供了写小说的交互界面。整个项目的架构图如下:
在本系列上篇内容中,我分享了项目的源代码,并帮助大家部署项目搭建整个项目。最后通过UI体验小说生成功能,生成大家专属的英文小说。在下篇内容中,我将修改该项目源代码,添加提示词让AI模型输出中文小说内容。
方案所需基础知识
什么是Amazon Bedrock平台上的Agent?
Amazon Bedrock Agent 是亚马逊云科技推出的一项生成式AI功能,它利用生成式AI(Generative AI)帮助开发者构建能够跨多个系统和数据源执行任务的智能应用程序。通过 Amazon Bedrock,开发者可以轻松地接入预训练的大模型,并通过 Agents 赋能应用程序,实现更复杂的任务自动化。
Bedrock Agents 的一个核心特点是其高度灵活性和可扩展性,能够根据开发者的需求快速配置和集成。开发者可以通过简单的指令和操作组定义 Agents 的行为,同时支持直接与 Amazon Virtual Private Cloud(VPC)内外的服务进行交互,而无需复杂的网络和安全配置。这为开发者提供了极大的便捷性和控制权。
使用Agent开发生成式AI应用的好处?
借助 Amazon Bedrock 上的 Agents功能,开发者可以使用生成式AI(Generative AI)跨多个系统和数据源执行任务、开发应用程序。使用Agents功能开发应用程序有以下几个好处:
快速创建Agent代理:
Amazon Bedrock可以帮助开发者快速创建Agent,并根据需要选择性地添加指令和操作组,为开发者的开发流程提供了更大的灵活性和敏捷性。
Agent代理构建器:
所有的Agent配置都可以通过Amazon Bedrock控制台上的代理构建器部分进行操作和管理,简化开发流程。
简化配置:
操作组可以使用简化的架构设计和搭建,只需列出需要调用的函数和参数,而无需提供完整的 API 架构。
控制权的返回:
开发者可以在Agent执行逻辑中选择跳过使用 AWS Lambda 函数,并将应用逻辑决策权返回给调用代理的应用程序。通过这种方式,应用程序可以直接与 AWS 之外的系统集成,或者调用托管在任何 Amazon VPC中的内部API端点,而无需开发复杂的AWS Lambda代码应用以及维护庞大网络基础设施。
本实践包括的内容
1. 分享Github上小说生成项目的源代码和部署步骤
2. 修改代码中的提示词部分使其生成中文小说
本实践实操步骤
项目部署
1. 首先我们打开亚马逊云科技控制台,进入云端IDE服务Cloud9
2. 我们接下来点击Open进入IDE开发环境
3. 接下来我们通过Github命令,将代码clone到本地IDE环境
git clone https://github.com/aws-samples/build-genai-agent-workflows-with-step-functions
4. 运行以下命令更新NPM
sudo npm install -g npm
5.通过以下命令安装AWS CDK基础设施代码开发库
sudo npm install -g aws-cdk
6. 运行以下命令安装必要依赖
cd build-genai-agent-workflows-with-step-functions/
pip install -r requirements.txt
修改代码
7. 接下来我们修改项目中的stacks/story_writer_stack.py文件,修改提示词。首先我们打开该文件。
8. 我们在文件中的106行的,修改Agent调用的用于写故事的任务链,添加如下提示词,指示任务链生成中文内容的小说。
Please translate the content into Simplified Chinese before returning the results.
添加位置如图所示:
项目部署
9. 接下来我们运行以下命令在亚马逊云科技上部署该项目
cdk deploy --all
10. 部署完成后会输出网页应用的前端UI URL,是输出的promptChaining-StreamlitWebapp字段对应的键值。
11. 我们打开浏览器,在提示词部分输入我们想生成的小说主题,如“The wild west” 西部荒野主题,并点击Start开始生成
12. 点击生成后稍作等待,我们就可以看到下方输出框生成了基于我们主题的中文小说内容。右侧红框中展示的是Agent在生成小说过程中的应用逻辑链
利用该项目开发长篇小说?
小李哥在此也给大家抛出一个问题,如果我想生成多个章节的小说,每个章节3000字左右,应该如何修改项目源代码呢?大家在评论区留言,分享自己的方案吧!
以上就是利用亚马逊云科技AI大模型平台Amazon Bedrock Agent代理开发小说生成应用程序的全部内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,关注小李哥未来不要错过更多国际前沿的AWS云开发/云架构方案。