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

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

こんにちは。アプリケーションサービス部の居石です。
AWSがaws-samplesに公開している『simple-lex-kendra-jp』をやってみたので紹介したいと思います。 このブログではAmazon Kendraのデプロイを行います。
セットアップがまだの方はAmazon Lex V2 と Amazon Kendra のサンプルプロジェクト(simple-lex-kendra-jp)をやってみた①をご覧ください。

手順

Amazon Kendra プロジェクトのデプロイ

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

デプロイ

以下のコマンドを実行しデプロイします。

npm exec -w cdk -- cdk deploy SimpleKendraStack

セキュリティに影響する可能性のある変更を行ってよいか聞かれるので、yを入力します。

Do you wish to deploy these changes (y/n)? y

以下のような出力であれば成功です。Outputsの SimpleKendraStack.KendraSampleFrontend のURLを手元にメモしてください。(デプロイ完了まで時間がかかります。)

SimpleKendraStack.DataSourceBucketName = ...
SimpleKendraStack.ExportsOutputFnGetAttKendraIndexArn7ABEB122 = ...
SimpleKendraStack.ExportsOutputRefKendraIndex7C32BDCD = ...
SimpleKendraStack.IdentityPoolId = ...
SimpleKendraStack.KendraApiEndpointF276F28B = ...
SimpleKendraStack.KendraIndexId = ...
SimpleKendraStack.KendraSampleFrontend = ...

データの取り込み

Amazon Kendraのマネジメントコンソールを開きます。
Indexesの項目で、作成されたsimple-index-by-cdkを選択します。

Data sourcesの項目で、s3-data-sourceを選択します。

右上のSync nowを押下し、同期を実施します。(同期完了まで時間がかかります。)

同期が完了したら、Outputsで出力されたSimpleKendraStack.KendraSampleFrontendのURLにアクセスします。
「パスワードの更新」と検索すると、検索結果が表示されます。
今回は/cdk/docs配下に保存されているinformation-system-dept.txtドキュメントの内容が検索にヒットし表示されています。

ドキュメントの情報はOutputsで出力されたSimpleKendraStack.DataSourceBucketNameのS3バケットに保存されています。

保存されているinformation-system-dept.txtの中身は以下の通りです。(一部抜粋)

# 情シス部

このドキュメントは、情報システム部門 (情シス部) についての情報を集約しています。
対応方法がわからない場合は、情シス部の Slack Channel (#info-sys-dept) か本社 11F での直接対応にて対応いたします。

## 貸与ラップトップのセットアップ

入社時にお渡ししたユーザー名とパスワードで初回ログインを行います。お渡ししたパスワードは仮の状態ですので、必ず別のパスワードに更新してください。パスワードの更新は、「情シスツール」というツールから行います。情シスツールはデスクトップにショートカットから起動します。続いて、ネットワークに接続します。在宅勤務の場合は、自宅の Wifi 環境に接続した後、VPN ソフトを立ち上げます。先ほど設定したユーザー名とパスワードで、正常に VPN に接続できたことを確認してください。続いて、メールのセットアップを行います。メールクライアントを立ち上げ、ユーザー名とパスワードを入力し、ログインします。ログインできない場合は、パスワードが不正であるか、ネットワーク環境が不安定であることが原因と考えられます。それ以外の理由の場合は、対面による対応が必要になります。ラップトップを持参の上、本社 11F にお越しください。

例えば、提供しているサービスの複数のマニュアルページをKendraのデータソースに追加すると、検索することができるため、ユーザーは知りたい情報をすぐに手に入れることができるようになります。

FAQ を追加/変更

Amazon Kendra では、CSV または JSON ファイル形式で S3 バケットにアップロードし、そのファイルの S3 URI を指定することでよくある質問を設定をすることが可能です。検索対象のデータソースにその質問に関する回答がない場合や、頻出な質問に対して確実な回答を提供したい場合に有効です。

Amazon Kendraのマネジメントコンソールを開きます。
Indexesの項目で、作成されたsimple-index-by-cdkを選択します。
FAQsの項目で、Add FAQを押下します。

今回はKendraのFAQ(よくある質問)を登録したいと思います。
以下のように設定します。
FAQの名前を入力し、languageはJapanese(ja)、FAQ file formatは.csv file - Basicを選択します。
S3は、simplekendrastack-faqbucketでバケットを検索し、その配下の/faq/Amazon-Kendra.csvを選択します。
IAM roleはSimpleKendraStack-FaqRoleと検索して出てきたものを使用します。
最後に右下のAddを押下します。 FAQが追加されたら、Outputsで出力されたSimpleKendraStack.KendraSampleFrontendのURLにアクセスします。
「Kendra」と検索すると、よくある質問が表示されます。

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