介绍
cfn-lex-bot 是一个可以帮助开发者快速构建基于 Amazon Lex 的聊天机器人,并将其部署到 AWS Lambda 和 Amazon API Gateway 上的 npm 包。这个工具集成了 AWS CloudFormation,使得你可以轻松地部署和管理你的聊天机器人。
本篇教程将带你深入学习如何使用 cfn-lex-bot 来制作基于 Amazon Lex 的聊天机器人,步骤非常详细,希望能够给正在学习聊天机器人的开发者带来帮助。
前置条件
在使用 cfn-lex-bot 之前,你需要准备以下内容:
- AWS 账号
- Node.js 环境
- 熟悉基本的命令行使用
安装
在项目根目录下执行以下命令安装 cfn-lex-bot:
npm install cfn-lex-bot
使用方法
步骤 1 - 创建 Amazon Lex Bot
要使用 cfn-lex-bot 创建一个聊天机器人,您需要首先创建一个 Amazon Lex Bot。
在 AWS Console 中打开 Amazon Lex,进入管理页面。
点击 "Create",并输入“Bot name”和“Output voice”等基本信息。然后,启用自己想要使用的“Advanced options”中的配置选项。这将使你能够配置自定义插槽类型和启用 Lambda 功能等。
首先创建一个聊天机器人,你需要指定以下属性:
bot name
- 你的 Bot 名称(必需)output voice
- 选择或创建一个 Amazon Polly 语音(必需)
除此之外,可以按照自己的意愿进行其他设置。
步骤 2 - 下载 Release 包
首先,从 Github Release 预编译版本中下载 Release 包,并解压。
可以在 Github Release 页面中找到最新版本。
步骤 3 - 修改 cfn-lex-bot Templates
解压 Release 包后,找到 devbuild 文件夹,里面有两个 CloudFormation 模板。一个是用于创建 Lambda,API Gateway 和 IAM 角色的模板,另一个是用于部署前端的模板。
在修改模板之前,需要先将模板文件夹名由 devbuild 改为 bot-deploy。
模板文件在修改前,其中存在一些值需要替换:
AWS Account ID
- AWS 账号 ID,替换文本${AWS::AccountId}
,在bot-deploy.yaml
和lambda-deploy.yaml
中都需要替换cfn-lex-bot-AWSRegion
- AWS 区域,替换文本${AWS::Region}
步骤 4 - 部署 templates
使用以下命令部署 templates:
cd bot-deploy aws cloudformation deploy --template-file bot-deploy.yaml --stack-name cfn-lex-bot --capabilities CAPABILITY_IAM aws cloudformation deploy --template-file lambda-deploy.yaml --stack-name cfn-lex-bot-lambda --capabilities CAPABILITY_NAMED_IAM
步骤 5 - 部署静态网站
使用以下命令安装并配置相关工具:
npm install -g gulp-cli bower cd web/src/static npm install bower install
执行 gulp build
后,将生成 web.json
文件。拷贝 web.json
文件到 CloudFront 资源中:
aws s3 cp dist s3://<S3_BUCKET>/ --recursive --acl public-read aws s3 cp index.html s3://<S3_BUCKET>/ --acl public-read aws s3 cp web.json s3://<CLOUDFRONT_PATH>/web.json --acl public-read
执行命令后,前端就会被成功部署。
步骤 6 - 测试聊天机器人
部署完成后,即可进行聊天机器人的测试。使用以下 URL 访问所创建的聊天机器人:
https://${CLOUDFRONT_ID}.cloudfront.net/chatbot.html?&alias=prod
示例代码
以下是使用 cfn-lex-bot 制作 chatbot 的示例代码
-- -------------------- ---- ------- ----- ------- - ----------------------- ----- ------- - --- --------- ----- ------------- ------- ------------ -------- - - ----- ------------- ----------- - ----------------- --------- ----- ---- --- ------ ------ --- -------------------- - ----- --------------- -------- - ------------ ------------ -------- ---- - -- ----- --- --- - ---- ------ -- -- -- -- -- --- ------------------------ -- - ----------------- ------- -- --- -------- ---
结论
cfn-lex-bot 提供了一个简单且易于使用的方法,以在 Amazon Lex 上构建聊天机器人,并将其部署到 AWS Lambda 和 Amazon API Gateway 上。它使开发者能够快速构建出功能强大的聊天机器人,并提供了简单的 API 来进行自定义。
希望本篇文章能给正在学习聊天机器人的开发者带来帮助,祝你们成功!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055fcb81e8991b448dd518