Amazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた①

記事タイトルとURLをコピーする

こんにちは。アプリケーションサービス部の居石です。
AWSがaws-samplesに公開している『simple-lex-kendra-jp』をやってみたので紹介したいと思います。
長くなりましたのでPart①②③と分けています。

概要

AWSがGitHubにAmazon Lex V2 と Amazon Kendraを日本語で試すことができるサンプルを公開しています。
github.com

simple-lex-kendra-jpをデプロイすると、以下の機能が実装できます!

  • Amazon Lex V2でChatbot 形式で問い合わせを行い、あらかじめ定義した「よくある問い合わせ」の対応を行う。
  • 対応方法が不明な問い合わせ (フローとして定義されていない問い合わせ) の場合は、Amazon Kendra を実行して、ドキュメントを検索し返答する。

手順

README.mdに記載してある方法に沿ってやっていきたいと思います!

  1. 前提条件の確認(やってみた①)
  2. AWS CDK のセットアップ(やってみた①)
  3. Amazon Kendra プロジェクトのデプロイ(やってみた②)
  4. Amazon Lex V2 プロジェクトのデプロイ(やってみた③)
  5. 環境の削除(やってみた③)

前提条件の確認

Node.jsのインストール

AWS CDKを利用するため、Node.jsの実行環境が必要となります。
今回の実行環境は以下で行いました。

  • Node.js v18.4.0

※手元に UNIX コマンド実行環境がない場合は、AWS Cloud9 を利用することも可能です。 AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。
cloud9-setup-for-prototypingを利用してAWS Cloud9の環境構築ができます。

リポジトリをクローンする

ターミナルで、以下のコマンドを実行します。

git clone https://github.com/aws-samples/simple-lex-kendra-jp
cd simple-lex-kendra-jp
npm install -ws

AWS CDK のセットアップ

※ルートディレクトリ /simple-lex-kendra-jpで実行してください。

AWS CDK の Bootstrap

Bootstrapは初回デプロイ前に アカウント & リージョン ごとに実行する必要があります。
Bootstrapコマンドを実行すると、CFn(CloudFormation)スタックが作成され、cdk appのデプロイに必要な周辺リソース(S3やIAM等)が作成されます。
Bootstrap には Docker あるいは esbuild が手元に必要です。
今回はDocker を使用します。

EC2(Amazon Linux 2023)の実行環境でDockerを利用するには、ターミナルで以下のコマンドを実行します。 その他の環境でのDockerインストールはこちら

sudo dnf -y install docker
sudo systemctl enable --now docker
sudo usermod -a -G docker ec2-user
sudo reboot

Dockerインストールができたら、Bootstrapを実行します。

npm exec -w cdk -- cdk bootstrap

CloudFront の WAF を利用しているため、 us-east-1 のリージョンにも Bootstrap を行う必要があります。

npm exec -w cdk -- cdk bootstrap --region us-east-1

一旦こちらで、セットアップは完了です。
次のブログでAmazon Kendraをデプロイしていきたいと思います。
Amazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた②へ続く