Amazon Lex は、アプリケーションの会話型インターフェイスを設計、構築、テスト、展開するための高度な自然言語モデルを備えたフルマネージドの人工知能 (AI) サービスです。高度な深層学習テクノロジーを採用してユーザー入力を理解し、開発者が自然言語でユーザーと対話できるチャットボット、仮想アシスタント、その他のアプリケーションを作成できるようにします。
を使用して Amazon Lex ボットを管理する AWS CloudFormation ボットとそれが依存するすべての AWS リソースを定義するテンプレートを作成できます。 AWS CloudFormation は、ユーザーに代わってこれらのリソースを提供および構成し、ボットを新しい環境にデプロイする際の人的エラーのリスクを排除します。 CloudFormation を使用する利点は次のとおりです。
- 一貫性 – CloudFormation テンプレートは、Amazon Lex ボットに関連付けられたリソースをデプロイおよび管理するための、より一貫性のある自動化された方法を提供します。
- バージョン管理 – AWS CloudFormation では、Git などのバージョン管理システムを使用して CloudFormation テンプレートを管理できます。これにより、ボットのさまざまなバージョンを維持し、必要に応じて以前のバージョンにロールバックできます。
- 再利用性 – CloudFormation テンプレートは、開発、ステージング、実稼働などの複数の環境で再利用できます。これにより、異なる環境間で同じボットを定義する時間と労力が節約されます。
- 拡張性 – Amazon Lex ボットが複雑になるにつれて、 AWSマネジメントコンソール より挑戦的になります。 AWS CloudFormation を使用すると、ボットの定義とリソースを管理するための、より合理的かつ効率的なアプローチが可能になります。
- オートメーション – CloudFormation テンプレートを使用すると、展開プロセスを自動化できます。次のような AWS のサービスを利用できます。 AWS コードパイプライン および AWS コードビルド Amazon Lex ボットを自動的に構築、テスト、デプロイします。
この投稿では、Amazon Lex V2 ボット用の CloudFormation テンプレートの作成に関連する手順を説明します。
ソリューションの概要
私たちは 旅行を予約する ボットをこの演習の開始点として使用します。 CloudFormation テンプレートを使用して、インテント、スロット、その他の必要なコンポーネントの定義など、新しいボットを最初から作成します。さらに、バージョン管理、エイリアス、統合などのトピックについても検討します。 AWSラムダ 関数、条件分岐の作成、ロギングの有効化など。
前提条件
次の前提条件が必要です。
- An AWSアカウント CloudFormation テンプレートを作成してデプロイするには
- 必要な AWS IDおよびアクセス管理 (わたし) パーミッション AWS CloudFormation とテンプレートで使用されるリソースをデプロイするため
- Amazon Lex、Lambda 関数、および関連サービスの基本的な知識
- CloudFormation テンプレートの作成とデプロイに関する基本的な知識
IAMロールを作成する
まず、ボットが使用する IAM ロールを作成する必要があります。これを実現するには、CloudFormation テンプレートを初期化し、IAM ロールをリソースとして追加します。次のテンプレートを使用してロールを作成できます。もし、あんたが サンプルテンプレートをダウンロードする それをデプロイすると、IAM ロールが作成されたことが確認できます。この記事ではテンプレートの例を示し、さらに進めていくにつれてそれらをマージしていきます。
Amazon Lex ボットを設定する
次に、ボット定義を追加する必要があります。以下は、Amazon Lex ボット定義の YAML テンプレートです。必要なコンポーネントを 1 つずつ構築します。
意図を持たずにボット定義のみを含むボットを作成するには、次のテンプレートを使用できます。ここでは、ボットの名前、以前に作成したロールの ARN、データ プライバシー設定などを指定します。
また、ご購読はいつでも停止することが可能です 更新されたテンプレートをダウンロードする。更新されたテンプレートをデプロイすると、ロールとボット定義の両方を作成できます。注意してください。 スタックの更新 前のステップで作成した。
最後のステップでは、 BotLocales
、ボットの機能の大部分を形成します。これには、例えば、 Intents
および Slot types
。 YAML テンプレートは次のとおりです。
この場合、ビルドするのは、 BookHotel
これには、部屋タイプに応じたカスタム スロット タイプが必要です。あなたが設定したのは、 LocaleId
、 そうして VoiceSettings
。次に、 SlotTypes
とそれに対応する値。
次のステップは、 Intents
最初の意図から始めて、 BookHotel
これには、発話、スロット、スロット優先順位の追加が含まれます。これらのノードの詳細は、提供されたテンプレートで説明されています。最後に、2 番目のインテントを追加します。 FallbackIntent
。 次のコードを参照してください。
また、ご購読はいつでも停止することが可能です CloudFormation テンプレートをダウンロードする 今までの仕事に対して。お先にどうぞ スタックを更新する このテンプレートを使用すると、機能的なボットがデプロイされます。 Amazon Lex コンソールで、ボットのドラフトバージョンと、という名前のデフォルトのエイリアスがあることを確認できます。 TestBotAlias
作成されています。
新しいボットのバージョンとエイリアスを作成する
Amazon Lex はパブリッシングをサポートします バージョン ボット、インテント、スロット タイプを管理して、クライアント アプリケーションの実装を制御できるようにします。バージョンは、開発、ベータ展開、運用など、ワークフローのさまざまな部分で使用するために公開できるボット定義の番号付きスナップショットです。 Amazon Lex ボットもサポート エイリアス。エイリアスは、ボットの特定のバージョンへのポインターです。エイリアスを使用すると、クライアント アプリケーションのバージョンを更新できます。実際のシナリオでは、ボット エイリアスは、ブルー/グリーン デプロイメントと、開発環境や運用環境などの環境固有の構成の管理に使用されます。
説明のために、エイリアスがボットのバージョン 1 を指すとします。ボットを更新する時期が来たら、バージョン 2 を公開し、新しいバージョンを指すようにエイリアスを変更できます。アプリケーションは特定のバージョンではなくエイリアスを使用するため、すべてのクライアントは更新を必要とせずに新しい機能を受け取ります。
CloudFormation テンプレートを変更してデプロイを開始すると、その変更は主にテストを目的としたドラフト バージョン内に実装されることに注意してください。テスト段階が完了したら、新しいバージョンを確立して、これまでに組み込んだ変更を完成させることができます。
次に、ドラフトに基づいて新しいボット バージョンを作成し、新しいエイリアスを設定して、バージョンをこのエイリアスにリンクします。以下は、テンプレートに追加する 2 つの新しいリソースです。
また、ご購読はいつでも停止することが可能です 新しいバージョンのテンプレートをダウンロードする スタックを更新してデプロイします。 Amazon Lex コンソールで、新しいバージョンが作成され、という新しいエイリアスに関連付けられていることがわかります。 BookHotelDemoAlias
.
Amazon Lex ボットの新しいバージョンを作成すると、通常、バージョン番号が 1 から順番に増加します。特定のバージョンを識別するには、その説明を参照してください。
Lambda関数を追加する
ボットの値を初期化するか、ユーザー入力を検証するには、Lambda 関数をコードフックとしてボットに追加します。同様に、データベースにデータを書き込んだり、API を呼び出して収集した情報を保存したりするなど、フルフィルメントにも Lambda 関数を使用できます。詳細については、以下を参照してください。 AWS Lambda 関数を使用したカスタム ロジックの有効化.
Lambda 関数の新しいリソースを CloudFormation テンプレートに追加しましょう。 CloudFormation テンプレートにコードを埋め込むことは一般的に推奨されませんが、ここではデモのデプロイメントの複雑さを軽減するためだけに埋め込みます。次のコードを参照してください。
この Lambda 関数をフルフィルメントに使用するには、インテントでコード フック設定を有効にします。
ボットに変更を加えたので、という名前の新しいリソースを追加して、新しいバージョンのボットを作成できます。 BookHotelVersionWithLambda
テンプレート内:
Lambda 関数はボット エイリアスに関連付けられています。 Amazon Lex V2 は、言語ごとのボットエイリアスごとに XNUMX つの Lambda 関数を使用できます。したがって、Lambda 関数リソースを追加するには、テンプレート内のエイリアスを更新する必要があります。これは、 BotAliasLocalSettings
セクション。また、エイリアスが作成した新しいバージョンを指すようにする必要があります。次のコードは、変更されたエイリアス構成です。
これまでは、Lambda 関数をエイリアスにリンクするだけでした。ただし、エイリアスによる Lambda 関数の呼び出しを許可する権限を付与する必要があります。次のコードでは、Amazon Lex の Lambda 呼び出しアクセス許可を追加し、エイリアス ARN をソース ARN として指定します。
また、ご購読はいつでも停止することが可能です 最新バージョンをダウンロードする テンプレートの。このバージョンでスタックを更新すると、Amazon Lex ボットが Lambda 関数と統合されるようになります。
条件分岐
次に、Amazon Lex ボットの条件分岐機能を調べて、来週シアトルで 5 泊以上の予約が許可されないシナリオを考えてみましょう。ビジネス要件に従って、ユーザーがシアトルで 5 泊以上予約しようとすると、会話は適切なメッセージで終了する必要があります。その条件分岐は、CloudFormation テンプレートの SlotCaptureSetting
:
ボット定義を変更したため、テンプレート内に新しいバージョンを作成し、それをエイリアスにリンクする必要があります。同社は間もなくシアトルで大量の予約を許可する予定であるため、これは一時的な変更です。テンプレートに追加する 2 つの新しいリソースは次のとおりです。
また、ご購読はいつでも停止することが可能です 更新されたテンプレートをダウンロードする。このテンプレート バージョンでスタックを更新すると、エイリアスは条件分岐機能を組み込んだバージョンにリダイレクトされます。この変更を元に戻すには、エイリアスを更新して前のバージョンに戻すことができます。
ログ
Amazon Lex ボットのログを有効にすることもできます。これを行うには、ボットのロールを更新して書き込み権限を付与する必要があります。 アマゾンクラウドウォッチ ログ。以下は、CloudWatch ポリシーをロールに追加する例です。
一貫性のある予測可能な動作を確保するには、CloudFormation テンプレートでリソース名とプロパティを定義するときに、できるだけ具体的にする必要があります。これは、CloudFormation テンプレートでワイルドカード文字 (*) を使用すると、潜在的なセキュリティ リスクが生じ、意図しない結果が生じる可能性があるためです。したがって、ワイルドカードの使用を避け、代わりに可能な限り明示的な値を使用することをお勧めします。
次に、次のコードに示すように CloudWatch ログ グループ リソースを作成し、ログをこのグループに送信します。
最後に、エイリアスを更新して会話ログ設定を有効にします。
このテンプレートでスタックを更新すると、ボットの会話ログが有効になります。ボット リソースには変更がないため、この手順では新しいバージョンは作成されません。あなたはできる 最新バージョンのテンプレートをダウンロードする.
クリーンアップ
今後料金が発生しないようにするには、作成した CloudFormation スタックを削除します。
まとめ
この投稿では、Amazon Lex V2 ボット用の CloudFormation テンプレートを作成するための段階的なプロセスについて説明しました。最初に、基本的なボットをデプロイし、次にエイリアスとバージョンの可能性と、それらをテンプレートで効率的に使用する方法を調査しました。次に、Lambda 関数を Amazon Lex V2 ボットと統合する方法を学び、ビジネス要件に対応するためにボットの会話フローに条件分岐を実装しました。最後に、CloudWatch ログ グループ リソースを作成し、必要な権限でボットのロールを更新することで、ログ機能を追加しました。
このテンプレートを使用すると、ボットの簡単な展開と管理が可能になり、必要に応じて変更を元に戻すことができます。全体として、CloudFormation テンプレートは、Amazon Lex V2 ボットの管理と最適化に役立ちます。
次のステップとして、次のことを検討できます。 サンプル Amazon Lex ボット この投稿で説明した手法を適用して、それらを CloudFormation テンプレートに変換します。この実践的な演習により、コードとしてのインフラストラクチャを介した Amazon Lex V2 ボットの管理についての理解が深まります。
著者について
トーマス・リンドファス Amazon Lex チームのシニア ソリューション アーキテクトです。 彼は、カスタマー エクスペリエンスを向上させ、導入を容易にする言語 AI サービスの新しい技術機能とソリューションを発明、開発、プロトタイプ作成し、普及させています。
リジーシュ・アッカンベス・チャトート AWS のプロフェッショナル サービス コンサルタントです。彼は顧客が望むビジネスを達成できるよう支援します
Amazon Connect、Amazon Lex、GenAI の機能を活用することで、コンタクトセンター分野で成果をもたらします。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/manage-your-amazon-lex-bot-via-aws-cloudformation-templates/
- :持っている
- :は
- :not
- :どこ
- $UP
- 1
- 10
- 100
- 11
- 13
- 14
- 視聴者の38%が
- 300
- 40
- 7
- 8
- 9
- a
- 能力
- アクセス
- 対応する
- 達成する
- 達成する
- 越えて
- 行為
- Action
- 加えます
- 追加されました
- 追加
- さらに
- 養子縁組
- 高度な
- アドバイス
- 後
- AI
- AIサービス
- すべて
- 許す
- 許可されて
- ことができます
- 沿って
- また
- しかし
- Amazon
- Amazon Lex
- Amazon Webサービス
- an
- および
- どれか
- API
- 申し込み
- 申し込む
- アプローチ
- 適切な
- です
- aren
- 人工の
- 人工知能
- 人工知能(AI)
- AS
- アシスタント
- 関連する
- At
- 試み
- 自動化する
- 自動化
- 自動的に
- 避ける
- AWS
- AWS CloudFormation
- AWSラムダ
- バック
- ベース
- 基本
- BE
- なぜなら
- になる
- き
- 始まる
- 代わって
- 行動
- 以下
- 利点
- ベータ
- 本
- 予約
- 予約
- ロボット
- 両言語で
- ボット
- ブランチ
- 支店
- ビルド
- 建物
- ビジネス
- by
- 呼ばれます
- 呼び出し
- 缶
- 場合
- センター
- 挑戦
- 変化する
- 変更
- 変更
- 文字
- 課金
- チャットボット
- チェック
- 子供達
- 選ばれた
- 市町村
- クライアント
- クライアント
- 閉じる
- コード
- COM
- コンプリート
- 複雑さ
- 複雑な
- コンポーネント
- 理解する
- 心配
- 条件
- 確認します
- 確認済み
- お問合せ
- 結果
- 検討
- 整合性のある
- 領事
- 構築する
- コンサルタント
- 接触
- コンタクトセンター
- コンテンツ
- コンテキスト
- コントロール
- 会話
- 会話
- 変換
- 対応する
- 作ります
- 作成した
- 作成
- カスタム
- 顧客
- 顧客満足体験
- Customers
- データ
- データプライバシー
- データベースを追加しました
- 日付
- 中
- 深いです
- 深い学習
- デフォルト
- 定義します
- 定義
- 定義
- デモ
- 実証
- 依存
- 展開します
- 展開
- 展開する
- 展開
- 配備
- 説明
- 設計
- 希望
- デスティネーション
- 細部
- 開発者
- 開発
- 開発
- 異なります
- 直接
- 指示された
- 識別する
- 議論する
- do
- 行われ
- ダウン
- ドラフト
- 各
- 簡単
- 効果
- 効率的な
- 効率良く
- 努力
- 埋め込みます
- 従業員
- enable
- 使用可能
- 有効にする
- end
- 確保
- 環境
- エラー
- 確立する
- イベント
- 例
- 例
- 運動
- 体験
- 探る
- 調査済み
- false
- 遠く
- 特徴
- 特徴
- フィールド
- ファイナル
- 確定する
- 最後に
- 名
- 五
- フロー
- フォロー中
- フォーム
- から
- 履行
- 完全に
- function
- 機能的な
- 機能性
- 機能
- さらに
- 未来
- ゲンナイ
- 一般に
- 取得する
- Gitの
- Go
- 助成金
- グループ
- 育ちます
- ガイド
- 実践的な
- 持ってる
- he
- ことができます
- こちら
- ホテル
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- 人間
- i
- アイデンティティ
- if
- 説明します
- 実装
- 実装
- import
- 向上させる
- in
- include
- 含ま
- 含めて
- Incorporated
- 組み込む
- index
- 情報
- インフラ
- 初期
- 当初
- 開始する
- を取得する必要がある者
- 統合する
- 統合された
- 統合
- インテリジェンス
- 意図
- 対話
- インターフェース
- に
- 発明する
- 関係する
- 関与
- IT
- ITS
- JSON
- 神様です。
- 知識
- 言語
- 大
- 最新の
- つながる
- 学んだ
- 学習
- less
- 活用
- ような
- LINK
- リンク
- ローカル
- 位置して
- 場所
- ログ
- ロギング
- ロジック
- 製
- 維持する
- 大多数
- make
- 作成
- 管理します
- マネージド
- 管理
- 管理する
- 多くの
- マッチ
- マシュー
- 意味した
- マージ
- メッセージ
- メッセージ
- マインド
- モデル
- 修正されました
- 修正する
- 他には?
- の試合に
- しなければなりません
- 名
- 名前付き
- 名
- ナチュラル
- 必要
- 必要
- 必要とされる
- 新作
- 次の
- 来週
- 夜
- いいえ
- ノード
- なし
- 注意
- 今
- 数
- 数の
- of
- 提供
- 良い
- on
- ONE
- オンライン
- オンラインプライバシー
- の
- 最適化
- or
- OS
- その他
- 私たちの
- 全体
- 部
- 部品
- path
- 以下のために
- 許可
- パーミッション
- 相
- プラン
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- ポイント
- ポリシー
- 方針
- ポーズ
- 可能
- ポスト
- 潜在的な
- 実用的
- 練習
- 予測可能な
- 前提条件
- 防ぐ
- 前
- 前に
- 主に
- 校長
- 優先順位
- 優先順位
- プライバシー
- プロセス
- 生産
- プロ
- 演奏曲目
- 進捗
- プロパティ
- 保護
- プロトタイプ
- 提供します
- 提供
- は、大阪で
- パブリッシュ
- 出版
- 上げる
- 準備
- 受け取ります
- 推奨される
- 参照する
- 関連する
- 削除します
- 除去
- で表さ
- の提出が必要です
- 要件
- 要件
- 必要
- 予約
- リソースを追加する。
- リソース
- 応答
- 結果
- return
- 再利用
- 元に戻す
- 右
- リスク
- リスク
- 職種
- ロール
- ルーム
- 客室
- ランタイム
- s
- 酒
- 同じ
- サンプル
- Save
- 言う
- シナリオ
- シナリオ
- スクラッチ
- シアトル
- 二番
- セクション
- セキュリティ
- セキュリティリスク
- サーバレス
- サービス
- サービス
- セッションに
- 設定
- すべき
- 示す
- 同様に
- スロット
- スロット
- Snapshot
- So
- これまでのところ
- もっぱら
- ソリューション
- 何か
- すぐに
- ソース
- スペース
- 特定の
- 指定する
- スタック
- ステージング
- 開始
- 起動
- 都道府県
- ステートメント
- 滞在
- 滞在
- 手順
- ステップ
- 簡単な
- 合理化された
- 文字列
- テーマ
- そのような
- サポート
- サポート
- サポート
- システム
- TAG
- 対象となります
- チーム
- 技術的
- テクニック
- テクノロジー
- template
- テンプレート
- 一時的
- test
- テスト
- より
- それ
- 未来
- ソース
- アプリ環境に合わせて
- それら
- その後
- そこ。
- したがって、
- ボーマン
- 三番
- この
- それらの
- 介して
- 時間
- 〜へ
- トピック
- 最適化の適用
- true
- 2
- type
- 一般的に
- 下
- わかる
- 理解する
- まで
- アップデイト
- 更新しました
- 更新版
- 更新
- us
- つかいます
- 中古
- 便利
- ユーザー
- users
- 検証
- 値
- 価値観
- バージョン
- バージョン
- 、
- バーチャル
- 欲しいです
- 仕方..
- we
- ウェブ
- Webサービス
- ウェブサイト
- 週間
- WELL
- この試験は
- いつ
- どこにでも
- かどうか
- which
- 全体
- 意志
- 以内
- 無し
- 仕事
- ワークフロー
- でしょう
- 書き込み
- ヤムル
- You
- あなたの
- ゼファーネット