A生成式人工智能(GenAI)正在逐渐改变用户与计算机的交互模式,例如创意内容生成和智能客服等。为了降低AI角色应用的开发门槛,本文主要介绍如何使用Amazon Bedrock Claude 3、SillyTavern和AI Character Editor快速构建一个AI Character应用。
一、方案介绍
结合Amazon Bedrock的Claude3多模态能力模型,以及SillyTavern和AI Character Editor,可以高效地创建个性化的AI角色应用。SillyTavern可以快速部署一个开箱即用的聊天环境,该平台内置了丰富的角色库,方便我们试用多种预设角色。
如果需要创建定制的AI角色,AI Character Editor提供了一个直观的界面,让我们能够编写角色卡,定义角色的背景、性格和行为风格。一旦完成角色定义,可以将自定义角色导入到SillyTavern的聊天环境中,与富有魅力的AI角色进行交流和互动。
1、Amazon Bedrock
亚马逊云科技官网:点击访问(注册立享100+免费云服务)
相关阅读:《亚马逊云科技账号注册流程图解》
Amazon Bedrock是亚马逊云科技(AWS)推出的托管云服务,提供一个统一的API接口,让用户可以访问来自多家领先AI公司及亚马逊自身的基础模型(Foundation Models),如Anthropic的Claude、Meta的Llama、Mistral等。通过Amazon Bedrock可以根据自己的业务需求从多个基础模型中选择最适合的一个。
Amazon Bedrock涵盖了广泛的生成式AI功能,支持在安全、隐私保护和负责任的AI原则下构建AI应用,可以轻松地实验并评估不同模型的适配效果,利用微调(fine-tuning)和检索增强生成(RAG)等技术,根据企业的专有数据进行定制,同时还能构建能够在企业系统和数据源上执行任务的智能代理。
2、Claude3
Claude3是Anthropic公司最新发布的大型语言模型系列,包括Haiku、Sonnet和Opus三个版本,提供了针对智能度、推理速度和性价比的多样化选择。Claude3在继承Claude2卓越对话能力的基础上,增强了推理能力和知识覆盖面,表现出色。Claude3采用了Anthropic的Constitutional AI技术进行训练,在安全性和价值对齐方面尤为突出。Claude3支持多种编程语言,可作为强大的AI编程助手使用。
3、技术架构
本文将SillyTavern和Character-editor部署在一台Amazon EC2 (t3.medium),用户可以访问暴露在8080端口的Character-editor,以及8000端口的SillyTavern,并配置SillyTavern使用Bedrock Claude3 Sonnet作为后端大模型。
二、Amazon Bedrock Claude3打造专属AI Character应用教程
1、Bedrock配置
在使用Bedrock的模型之前,需要申请模型的访问权限。在模型访问申请页面中,首先点击右上方的“Manage model access”。
然后在“Anthropic”提供商提供的“Claude3 Sonnet”模型前打勾。
勾选Claude3 Sonnet并填写使用用例后,滚动到页面底部,点击“Save changes”,完成模型访问的申请。 然后创建用访问Bedrock的IAM user以及Access key。
2、安装SillyTavern
SillyTavern是一款开源的角色扮演聊天前端界面,通过它能够方便地加载角色,连接后端大语言模型,快速开始聊天。
(1)创建Amazon EC2
亚马逊云科技官网:点击免费使用Amazon EC2
Amazon EC2目前提供长达12个月免费试用,包括1核CPU、1GB内存、30GB SSD和高频Intel Xeon处理器,包括每月750小时的t2.micro或t3.micro实例使用时间。
在Amazon EC2控制台中,点击侧边栏的“Instances”,进入实例页面,点击右上方的橙色按钮“Launch instances”创建新实例。 点击Ubuntu,在Amazon Machine Image中选择”Ubuntu Server 22.04 LTS (HVM)”,Instance type则在下拉选单中选择“t3.medium”类型。
配置磁盘大小为30GB。
在Inbound Security Group Rules中,需要配置三条规则:
- ssh规则端口为22,便于我们登录到服务器做相关配置;
- HTTP规则,Port “8000”,访问SillyTavern;
- HTTP规则,Port “8080”,访问Character-editor。
配置好Inbound Security Group Rules的页面应与下图类似:
接下来在Amazon EC2中安装SillyTavern。
(2)连接到实例
在连接实例之前,需要先在EC2实例页面确认实例已完全启动,Status check显示为绿色。
连接EC2实例的方式有很多,可以选择任何一种习惯的方式连接,并进行后续的配置。
(3)配置Node.js运行环境
需要Node 20.x以上的版本作为SillyTavern运行时环境。
安装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 –version
npm –version
如果安装正确,这些命令会输出相应的版本号,类似于下图所示:
(4)部署SillyTavern
Clone SillyTavern代码到本地:
cd ~
git clone https://github.com/Chen188/SillyTavern.git -b bedrock
配置SillyTavern访问设置:
在SillyTavern目录下,打开config.yaml文件,修改以下参数以实现安全的远程访问:
- listen: true
- whitelistMode: false
- basicAuthMode: true
- basicAuthUser 设定的远程登录 sillytavern 的用户名和密码(username 输用户名,password 输密码,默认为 user/password)
修改完成后,保存配置文件并退出,启动SillyTavern服务。如果启动成功,在终端中应该能看到类似的提示:
3、配置SillyTavern使用Claude3模型
在浏览器中输入http://<ec2 public ip>:8000,并在弹出的用户名密码对话框中输入在config.yaml配置文件中填写的用户名密码,进入SillyTavern欢迎页面。在首页提示框中,可以输入用户名,也可以使用默认值“User”。
点击顶部的插头图标,选择API为Chat Completion,并在Chat Completion Source处配置后端为Amazon Bedrock。
在AWS AKSK处,填写在创建资源步骤中新建的IAM User的access key,点击Connect连接到Bedrock。如果想要通过IAM Role分配访问权限,则可以先创建一个带有Amazon Bedrock访问权限的IAM Role,然后绑定到EC2服务器上,之后将SillyTavern中的AKSK留空。
注意:IAM User的Access Key/Secret Key用于进行身份验证和访问控制。Access Key/Secret Key必须保密,不应该与其他人共享,防止泄露导致的账户盗用。
至此,SillyTavern配置完成,可以点击顶端标签卡中的最后一个“角色卡片”来打开聊天页面,开始聊天。
4、使用AI Character Editor角色管理器
除了和SillyTavern预置的角色聊天外,还可以通过AI Character Editor来创造自己的角色卡。
(1)配置AI Character Editor
登录到EC2,从GitHub拉取AI Character Editor的代码:
git clone https://github.com/ZoltanAI/character-editor.git
安装HTTP服务器并启动AI Character Editor:
cd character-editor# 安装 http-server
sudo npm install -g http-server
# 使用 http-server 启动应用:
http-server
启动成功后看到如下提示:
此时,AI Character Editor已在8080端口启动。
(2)打开角色管理器界面
在浏览器中输入http://<ec2 public ip>:8080打开角色管理器界面。
填写完成后,点击Export中的”Download as Character JSON”下载角色卡图片。
(3)导入角色到SillyTavern
打开SillyTavern,点击右上角的”Import character”按钮。SillyTavern会自动从图片中读取JSON数据并导入角色。之后角色就会出现在列表中。
(4)与角色对话
导入完成后,将在页面看到提示框,提示导入成功,你可以和自己创造的角色聊天了。
相关推荐:
《Amazon Bedrock深度集成DeepSeek-R1模型实操指南》
《亚马逊云科技自研芯片Inferentia部署DeepSeek-R1模型教程》
《亚马逊云科技Amazon Bedrock全面上线多Agents协作功能 轻松构建AI Agents》