【Amazon Bedrock】基于Bedrock打造专属Roleplay AI角色⌈文末附最新活动预告不容错过⌋

云矩阵 2024-06-19 10:01:01 阅读 94

文章目录

精彩峰会上新啦🎊一、实验介绍二、创建资源`申请Bedrock模型访问权限`创建IAM Policy创建IAM User创建IAM User的access key创建EC2 三、部署聊天环境连接到实例安装Node.js安装SillyTavern 四、开始和预设的角色聊天五、亚马逊云科技中国峰会精彩预告🎉

640

精彩峰会上新啦🎊

亚马逊云科技中国峰会预告

投资未来就趁现在,诚邀您参加亚马逊云科技中国峰会|开发者技能成长与发展专区,年度盛宴,一起探索、学习和成长!我们将推出一些系列生成式AI免费课程与认证学习内容,助力开发者掌握 AI 与云端技能,成为炙手可热的人才。无论您是初学者还是经验丰富的开发者,这里都将为您带来把握生成式AI技能成长的绝佳机会,帮助您"一站"上职场发展快车道。


每日的"尖峰学堂"将带您轻松实现生成式AI必备技能入门,探索更多AI技术红利。限定的"备考训练营"将指导您如何从学到考,拿下全球认可的云计算与数据工程认证,现场还有免费考试优惠惊喜。金牌讲师“限时专班”及年度“技术博主”坐镇,教您如何轻松学习成为技术 Pro 并快速拿证,最佳"云师兄"更将组建"保过班",帮您在一个月内通过热门国际云认证考试。


如果您已是亚马逊云科技认证持有者,认证精英会将提供场内专享会所礼遇,包括结识精英、免费拍摄证件照和领取限定好礼。此外,我们将悬赏"黄金夹克"寻找考取全部12个认证以上的您,并有3D卡牌游戏Card Clash等有趣体验等您来一探究竟!


640

一、实验介绍

从0-1的构建一个Roleplay AI Character应用,具体可分为以下几个步骤:

创建资源部署聊天环境开始和预设的角色聊天自定义角色卡和自己定义的角色聊天

image-20240427091730771

二、创建资源

需要在亚马逊云科技账号中创建和申请如下资源:

申请 Bedrock 模型访问权限;IAM User,以调用Bedrock中的模型;EC2,用于托管前端和角色生成模块。

申请Bedrock模型访问权限

打开 Amazon Bedrock 控制台 ,在 “Model Aceess” 详情页面,点击 “Manage model access”按钮,勾选“Mistral AI”模型,点击 “Request model access”。

image-20240427092146510

登录亚马逊云科技账号,进入控制台。在顶部搜索框中输入“Bedrock”,点击进入Bedrock控制台页面。

image-20240427093457752

展开侧边栏,将侧边栏拉到底部,点击“Model access”进入模型访问申请页面。

image-20240427093515729

在模型访问申请页面中,首先点击右上方的“Manage model access”。

image-20240427093535137

然后在“Anthropic”提供商提供的“Claude3 Sonnet”模型前打勾。

注意:如果在提供商“Anthropic”后方的“Use case details”按钮为橙色,则您需要填写具体的使用用例后,才能够使用Claude3模型。

image-20240427093623194

勾选Claude3 Sonnet并填写使用用例后,滚动到页面底部,点击“Save changes”,完成模型访问的申请。

image-20240427093641568

创建IAM Policy

返回到亚马逊云科技控制台,在顶部搜索框中输入“IAM”,点击Service中的“IAM”,进入IAM控制台。

image-20240427092316414

进入控制台后,点击左侧边栏的“Policies”,进入策略界面。点击右上方的橙色按钮“Create policy”。

image-20240427092336271

在Create policy界面中,从Service选栏中搜索“Bedrock”,并选中。

image-20240427092350589

接下来,需要配置如下内容:

在Actions allowed的Access level选项下,展开“List”下拉菜单,勾选“ListFoundationModels“;再展开“Read”下拉菜单,勾选“InvokeModel”和“InvokeModelWithResponseStream“,意味着此Policy能够对Bedrock中的基础模型进行List操作,并进行invoke,以及流式接收invoke大模型后的响应;

image-20240427092431840

在Resources选项下,选中“Specific”,并勾选“foundation-model”后方的“Any”选项,意味着此Policy能够访问Bedrock中所有申请了访问权限的基础模型。检查无误后,点击右下角的“Next”。

image-20240427092501365

在Review and create页面中,为新创建的Policy命名,如“roleplay-invoke-bedrock”,点击右下角“Create policy”。

image-20240427092516279

创建IAM User

IAM Policy创建好后,还需要将其附加到IAM User上,以使用User来访问服务。点击侧边栏中的Users,进入IAM User页面,点击右上方的“Create User”。

image-20240427092607097

填写User name,不要勾选下方的Provide user access to the 亚马逊云科技 Management Console,点击“Next”。

image-20240427092621604

在Set permissions界面中,在Permissions options下选择“Attach policies directly”,之后在下方的Permissions policies搜索刚刚创建的policy,勾选,点击“Next”。

image-20240427092635797

在最后的Review and create页面做最后检查,确认无误后点击“Create user”。

image-20240427092651631

创建IAM User的access key

IAM User创建完成,接下来需要配置一个此user的access key,供聊天前端页面调用。点击刚刚创建的user,进入管理页面。

image-20240427092721989

在管理页面中,选择“Security credentials”标签卡,在Access keys一栏下点击“Create access key”,创建新的access key。

image-20240427092745038

创建access key的第一步会询问用途,在此处选择“Others”,并阅读下方关于access key的安全提示,保证access key的使用安全。然后点击“Next”。

image-20240427092808927

第二步中,可以给创建的access key打上标签,无特殊情况留空即可,直接点击“Create access key”。

image-20240427092824750

最后,access key创建完成,默认情况下Secret access key为隐藏状态,您可以点击“Show”按钮来显示明文。记录下access key,供workshop的后续步骤使用。注意:您只有这一次机会查看明文形式的access key,当点击“Done”退出创建页面后,将无法再获取到此access key的明文。请务必将access key妥善保管,或点击“Download .csv file”下载到本地并放置在安全位置

image-20240427092838451

至此,IAM User配置完成。

创建EC2

在亚马逊云科技控制台顶部的搜索栏中,输入“EC2”,进入EC2的控制台页面。

image-20240427092903566

在EC2控制台中,点击侧边栏的“Instances”,进入实例页面,点击右上方的橙色按钮“Launch instances”创建新实例。

image-20240427092923728

在Launch an instance页面中,Name处填写任意名称。在Application and OS Images(Amazon Machine Image)选栏中,点击Ubuntu,在Amazon Machine Image中选择"Ubuntu Server 22.04 LTS (HVM)”。

image-20240427092944665

下方的Instance type中,在下拉选单中搜索“t3”,选择“t3.medium”类型。此为2核4G机型,能够运行聊天前端页面和角色编辑器。

image-20240427093000389

在下方的Key pair选项中,点击“Create new key pair”生成新的密钥对,后面您将使用此密钥登录到EC2服务器来配置聊天页面和角色管理器。

image-20240427093017119

image-20240427093033950

点击“Create”后,密钥对的私钥将会自动下载到本地,请到浏览器的默认目录找到名为<Key pair name>.pem的私钥文件,供后续步骤使用。

在Network settings中,点击右侧的“Edit”编辑网络设置。其中,注意检查“Auto-assign public IP”是否为Enable,Firewall(security groups)选择“Create security group”,name填写任意名称,如“roleplay-SG“。

image-20240427093107182

在接下来的Inbound Security Group Rules中,需要配置三条规则:

默认应已经包含了一条ssh规则,检查其Protocol是否为TCP,Port range为22,Source type为Anywhere。点击“Add security group rule”新建一条规则,Type选择“Custom TCP”,Port range填写“8000”,Source type选择“My IP”,以限制仅有您的IP能够通过此规则访问到EC2服务器;在此点击“Add security group rule”新建一条规则,Type选择“Custom TCP”,Port range填写“8080”,Source type选择“My IP”。

配置好Inbound Security Group Rules的页面应与下图类似。

image-20240427093133856

注意:如果您访问互联网的IP不固定或经过了多层NAT,则Inbound rule可能无法正确获取到实际访问IP。如果遇到无法访问服务的情况,请尝试将2、3两条inbound规则的Source type更改为Anywhere。但这意味着所有人都能够访问到您的EC2服务器的对应端口,可能会存在潜在风险。

向下翻页,在Configure storage中,配置磁盘大小为30GB,最后在右侧检查一下创建实例的Summary,确认无误后点击Launch instance,EC2实例即创建完成。

image-20240427093204591

image-20240427093214571

点击实例名称,进入EC2实例页面,在此能看到刚刚创建的实例。

image-20240427093230998

至此,所有资源创建完成。接下来,将在EC2中安装角色扮演聊天界面和角色管理器。

三、部署聊天环境

在本部分中,将完成聊天前端界面SillyTavern的安装与配置。

连接到实例

通过本地终端连接

通过本地终端连接是最通用的方式,您可以像连接其他远程服务器一样连接到您在AWS中的EC2实例。

找到在上一步中创建的私钥,一般会在您的浏览器默认下载目录下,名称为<您输入的密钥对名称>.pem;在EC2 instance控制台中勾选刚刚创建的实例,在下方Detail选项卡中找到”Public IPv4 address“信息,复制此IP地址;

image-20240427103244995

打开终端,首先使用chmod 400 <私钥路径>为私钥设定适当的访问权限,再使用命令ssh -i <私钥路径> ubuntu@<IP地址>连接到实例。首次连接时,可能会询问您密钥对信息是否正确,如果遇到此情况,请输入“yes”并回车。如果连接成功,应能够看到类似下图的界面。

image-20240427103316256

通过EC2 Instance Connect连接

EC2 Instance Connect为您提供了一种在网页上访问实例的便捷方式。使用EC2 Instance Connect连接到实例请按照如下步骤。

打开EC2 Instance控制台,勾选想要连接的EC2实例,点击上方的“Connect”;

image-20240427103449895

在打开的Connect to instance页面中,选择EC2 Instance Connect,Connection Type选择“Connect using EC2 Instance Connect”,Username为“ubuntu”,点击”Connect“

image-20240427103515104

EC2 Instance Connect将在新弹出的窗口中尝试连接到实例。如果连接成功,将能看到如下界面,您可以在此页面中对EC2实例进行操作了。

image-20240427103542617

安装Node.js

Node.js是SillyTavern运行所必须的运行时,在连接到的EC2终端中输入以下命令来安装Node.js:

# 更新包列表sudo apt update# 添加Node.js 20.x版本的仓库到你的系统中curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -# 将安装Node.js 20.x的最新版本, 以及npm(Node Package Manager)sudo apt install nodejs -y

安装完成后,您可以通过以下命令检查Node.js和npm的版本,以验证是否安装成功:

node --versionnpm --version

如果安装正确,这些命令会输出相应的版本号,类似于下图所示。

image-20240427103842338

安装SillyTavern

SillyTavern是一款开源的角色扮演聊天前端界面,通过它能够方便地加载角色,连接后端大语言模型,快速开始聊天。

拉取代码

要安装SillyTavern,请先将代码拉取到本地。

cd ~git clone https://github.com/Chen188/SillyTavern.git -b bedrock

切换到SillyTavern/src路径下,您会看到bedrock.js文件,SillyTavern将会使用此文件与Bedrock交互。

配置SillyTavern访问设置

确认在SillyTavern目录下,通过运行start.sh文件先启动一次SillyTavern以自动生成配置文件config.yaml,然后再ctrl+c退出。

cd ~/SillyTavernbash start.sh 打开config.yaml文件,修改以下参数以实现安全的远程访问:

listen: truewhitelistMode: falsebasicAuthMode: truebasicAuthUser 设定的远程登录sillytavern的用户名和密码 username输用户名,password输密码,默认为user/password

修改完成后,保存配置文件并退出。

重新启动SillyTavern服务。如果启动成功,在终端中您应该能看到类似的提示:

bash start.sh

image-20240427104029412

配置SillyTavern后端交互

在浏览器中,输入http://<您的ec2 public ip>:8000。在弹出的用户名密码对话框中输入在config.yaml配置文件中填写的用户名密码,进入SillyTavern欢迎页面。在首页提示框中,可以输入您的用户名。

image-20240427104110376

点击顶部的插头🔌图标,选择API为Chat Completion,并在Chat Completion Source处配置后端为Amazon Bedrock。

image-20240427104132179

AWS Region 请选择: “us-west-2”。

在AWS AKSK处,填写在创建资源步骤中新建的IAM User的access key,并选择使用的模型,如Claude以及Mistral。

image-20240427104153763

点击“Test Message”,在弹出绿色成功提示 “API connection successful!” 后,再点击Connect连接到 Bedrock。

image-20240427104210158

至此,SillyTavern配置完成,您可以点击顶端标签卡中的最后一个“角色卡片”来打开聊天页面,开始聊天。

image-20240427104223684

四、开始和预设的角色聊天

SillyTavern聊天界面部署完成后,您需要首先将流式生成、越狱和NSFW选项关闭,以避免和Claude3模型的交互过程中出现卡顿,触发安全规则,拒绝回答等情况。

在顶部点击最左侧的“控制”标签卡,将“Streaming”选项前的勾去掉。

image-20240427104340969

拉至底部,将“NSFW Prompt”和“Jailbreak Prompt”调至关闭状态

image-20240427104404863

配置完成,接下来点击SillyTavern顶部最右侧的标签卡,您能够看到预置的角色。点击预置的“Coding Sensei”角色,开始聊天。

image-20240427104555971

注意:如果在屏幕下方出现了红色的警告栏提示“Not connected to API”,则您需要首先点击顶部的插头🔌标签,点击“Connect”按钮连接到Bedrock后,再进行聊天。

Coding Sensei是一个能够帮助用户解答编写代码方面问题的角色,对于向他提出的问题,他将返回代码块和代码解释。在下图中,我们化名为“大华”,向Coding Sensei询问如何使用Python计算7的阶乘,Coding Sensei给出了示例代码并对关键部分作出了解释。

image-20240427104711559

如果Coding Sensei没有解决疑问,可以继续追问,Coding Sensei会基于聊天记录继续给出答案。

image-20240427104730655

对于一些危险行为,Coding Sensei会委婉地拒绝回答问题。

image-20240427104747398

五、亚马逊云科技中国峰会精彩预告🎉

开发者生成式AI技能成长良机,尽在2024 年亚马逊云科技中国峰会


🔥 尖峰学堂 —— 引领您走进生成式AI的新世界

每日的“尖峰学堂”将带您轻松实现生成式AI必备技能入门,探索更多AI技术红利。无论您是初学者还是资深开发者,这里都有适合您的课程。我们将邀请业界专家为您讲解生成式AI的基础知识、应用场景、潜在风险与商业价值。此外,我们还将传授您生成式AI时代的必备技能——提示工程基础知识,助您成为构建者,开拓个人技能的新价值。早鸟福利:前30名签到者,可获得神秘礼品一份!(上海世博中心 4层 白金讲堂 431室)

课程一:生成式AI基础知识 - 面向业务/技术岗位人士

5月29日 11:15-12:00魏星 亚马逊云科技资深技术讲师开启生成式AI探索之旅

【5.29尖峰学堂报名链接 https://dev.amazoncloud.cn/activity/activityDetail/tcpublicclass/vod-ve?id=6641a3aa83b3467caf6fdd19】

课程二:提示工程基础知识

5月30日 11:15-12:00秦晨光 亚马逊云科技资深技术讲师

开启生成式AI探索之旅

【5.30尖峰学堂报名链接https://dev.amazoncloud.cn/activity/activityDetail/tcpublicclass/vod-ve?id=6641b8b1166b1a1cb6b74a5b】

📜 备考训练营 —— 助您一举拿下全球认证

限定的“备考训练营”将带您如何从学到考,拿下全球认可的云计算与数据工程认证。我们为您准备了丰富的模拟试题和实战练习,助您熟悉考试流程和题型。现场还有免费考试优惠惊喜等着您!早鸟福利:前30名签到者,可获得神秘礼品一份!(上海世博中心 4层 白金讲堂 430室)

备考训练营一:AWS Certified 云从业者 认证

5月29日 11:15-12:00姚泉 亚马逊云科技技术讲师参与答题环节的前15名,将获得全额免费考试优惠折扣码,价值100美元!

开启拿下全球认可的云计算从业者认证

【5.29备考训练营报名链接 https://dev.amazoncloud.cn/activity/activityDetail/tcpublicclass/vod-erw?id=663de2414e3b7d0f2f016041】

备考训练营二:AWS Certified 数据工程师 - 助理级 认证

5月30日 11:15-12:00林於晟 亚马逊云科技技术讲师参与答题环节的前10名,将获得全额免费考试优惠折扣码,价值150美元!全程参会者还可获得67%折优惠码。

开启拿下全球认可的数据工程师认证

【5.30备考训练营报名链接 https://dev.amazoncloud.cn/activity/activityDetail/tcpublicclass/vod-erw?id=663de40767856f11dd6a531e】

👨‍🏫 开发者会客厅|技能成长区 —— 备战“人工智能+”时代

在这里开启生成式AI学习之旅,您可以与培训专家面对面交流,探讨前沿的人工智能与云计算课程。我们为不同技能层次的团队和个人提供定制学习路径,结合数字化与面授培训模式。加入《生成式AI精英速成计划》,免费获取创新课程、专家解析及应用演示。涵盖「技术开发技能」与「商业应用技能」,完成学习并通过测验,即可获得技能证书,提升职场竞争力!此外,我们还与CSDN联手推出《从基础到应用的LLM全景课程》,助您系统学习大模型平台、训练与部署,打造生成式AI应用,快速掌握AI与必备云技能。

🚀 技能成长加油站 —— 让您进阶成为云职场赢家

我们还特别邀请了金牌讲师和年度“技术博主”坐镇,为您提供“限时专班”教学服务。他们将教您如何轻松学习成为技术 Pro 并快速拿证。最佳"云师兄"更将组建"保过班",帮您在一个月内通过热门国际云认证考试。无论您是想要提升技能还是准备职业转型,这里都将是您的最佳选择。

5月29日 15:25-16:25 上海世博中心展区 1F 银厅

金牌讲师“限时专班”,详解云计算工作角色和职能,助您选择适合个人与企业的课程及认证路径,快速提升技能!

姚泉 亚马逊云科技技术讲师林於晟 亚马逊云科技技术讲师

全新思路 “以考促学” ,拿下多家认证成为云职场赢家

吕蕴偲 解决方案架构师/亚马逊云科技 Community Builder/亚马逊云科技云博主

考证大神教你重塑学习体验,如何丝滑拿下认证“大满贯”

李少奕 深圳市兆珑科技有限公司 云安全专家/亚马逊云科技 Community Builder/亚马逊云科技云博主

5月30日 15:35-16:35 上海世博中心展区 1F 银厅

金牌讲师“限时专班”,教你了解云计算工作角色和职能,选择个人及企业适合的课程及认证路径,快速提升技能!

姚泉 亚马逊云科技技术讲师林於晟 亚马逊云科技技术讲师

聊聊从校园到职场的云技能提升干货,亲测有效

封磊 重庆山屿海信息技术有限公司解决方案架构师/亚马逊云科技 Community Builder/亚马逊云科技云博主

重塑工具开发提效进阶思路,如何拿下多个认证

韩旭 北京西云数据科技有限公司技术支持/亚马逊云科技云博主

🎉 认证精英会 —— 您的专属荣耀殿堂

如果您已经取得亚马逊云科技的认证,那么恭喜您!认证精英会将为您提供场内专享会所礼遇。在这里,您可以结识精英、免费拍摄证件照和领取限定好礼。此外,我们将悬赏"黄金夹克"寻找考取全部12个认证以上的技能王者,让您成为云认证界的大满贯传奇人物!(*亚马逊云科技员工及合作伙伴不具备获奖资格)

🎮 自由动手区 —— Card Clash 3D卡牌游戏

当然,除了学习和认证外,我们还为您准备了丰富多彩的互动环节。快来加入3D虚拟卡牌游戏“Card Clash”,在轻松愉快的氛围中学习亚马逊云架构知识!部署您的卡牌,构建可扩展高效的亚马逊云科技解决方案架构。

亚马逊云科技中国峰会|开发者技能成长与发展专区,期待您的光临,一同开启生成式AI技能成长之旅。敬请锁定 5月29日-30日,上海世博中心不见不散!

2024 年亚马逊云科技中国峰会|开发者技能成长与发展专区

活动时间:5月29日 - 30日

活动地点:上海市 · 浦东新区 · 世博中心

加入开发者生成式 AI 技能成长之旅!

立即扫码报名

image-20240521145850171

640



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。