

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 記述的ボットビルダーを使用した、Lex V2 での説明文によるボットの構築
<a name="nld-bots"></a>

**注記**  
生成 AI 機能を活用するには、最初に以下の前提条件を満たす必要があります。  
Amazon Bedrock の使用料金については、「[Amazon Bedrock の料金](https://aws.amazon.com/bedrock/pricing/)」を参照してください。
ボットロケールで生成 AI 機能を有効にします。これを行うには、「[生成 AI を使用した Lex V2 ボットの作成とパフォーマンスの最適化](generative-features.md)」の手順に従います。

記述型ボットビルダーでは、Amazon Bedrock の大規模言語モデルへのアクセスを活用して、ボット作成プロセスの効率を高めることができます。ボットの目的および実行すべきアクションを含むプロンプトを自然言語で入力します。Amazon Lex V2 は Amazon Bedrock の機能を利用して、ユーザーの説明に基づいてボットに関連するインテントとスロットタイプを生成します。保持したいインテントとスロットタイプを選択したら、ボットを反復処理して特定のユースケースに合わせて変更できます。記述的ボットビルダーを使用すると、ボットのインテントとスロットタイプを手動で作成する必要がなくなるため、時間を節約できます。

記述的ボットビルダーは英語ロケールで使用できます (「[Amazon Lex V2 でサポートされている言語とロケール](how-languages.md)」の表で `en_` で始まるロケールを参照してください)。

ボットを作成する前に、次のことを行います。

1. 「[Lex V2 で自然言語による説明でボットを作成するために必要な権限](nld-permissions.md)」の手順を参照して、ロールに正しい権限があることを確認します。

1. 使用する説明を決定します。ボットの説明のサンプルについては、「[記述型ボットビルダーのボットの説明例](nld-examples.md)」を参照してください。

自然言語を使用してボットができることを説明し、ボットを作成します。Amazon Lex V2 は Amazon Bedrock モデルを呼び出し、ボットのユースケースに合ったインテントとスロットタイプを生成します。ボットは、コンソールまたは API を使用して作成できます。

------
#### [ Console ]

**記述的ボットビルダーを使用してボットを作成する**

1. AWS マネジメントコンソールにサインインし、[https://console.aws.amazon.com/lexv2/home](https://console.aws.amazon.com/lexv2/home) で Amazon Lex V2 コンソールを開きます。

1. **[ボット]** ページで、**[ボットを作成]** を選択します。

1. **[作成方法]** で、**[記述的ボットビルダー - 生成 AI]** を選択します。

1. ボットの名前とオプションの説明を入力し、IAM 権限を設定して、ボットが COPPA の対象となるかどうかを選択します。**[次へ]** を選択します。

1. ボットを作成する言語、ボットの音声、インテント分類の信頼度しきい値を選択します (詳細については、「[Lex V2 でのインテント信頼スコアを使用したインテント選択の改善](using-intent-confidence-scores.md)」を参照してください)。

1. **[記述的ボットビルダー - 生成 AI]** で、作成するボットの説明を入力します。説明は、詳細かつ正確な内容とし、ボットのインテントを適切かつ十分に生成できるようにします。****インテント作成プロセスを改善するためのアクションのリストを含めます。

1. **[モデルを選択]** で、モデルプロバイダーとモデルを選択します。

1. 別のロケールでボットを作成するには、**[別の言語を追加]** を選択します。言語の追加が完了したら、**[完了]** を選択します。Amazon Lex V2 でボットを作成し、記述的ボットビルダーでボットのインテントとスロットを生成します。ロケールが生成されると、バナーは青から緑に変わります。**[レビュー]** を選択すると、生成されたインテントとスロットタイプが表示されます。
**注記**  
現在、記述的ボットビルダーは、英語ロケールでのみ利用可能です。ただし、ボットを作成した後で英語以外のロケールにコピーすることはできます。

**生成されたインテントとスロットタイプを確認してボットに追加する**

1. ボットのユースケースに適用できるインテントとスロットタイプが十分にある場合は、生成されたインテントを確認できます。

   1. **生成されたインテント**を確認します。

      1. インテントの横のチェックボックスをオフにすると、ボットに追加するインテントのリストからインテントが削除されます。

      1. インテント名を選択すると、そのインテント用に生成された**サンプル発話**と**スロット**が表示されます。

      1. デフォルトでは、すべての発話とスロットが選択されます。チェックボックスをオフにすると、その項目がインテントから削除されます。**[選択内容に追加]** を選択すると、チェックした項目がインテントに残ります。

   1. **生成されたスロットタイプ**を確認します。

      1. スロットタイプの横にあるチェックボックスをオフにすると、ボットに追加するインテントのリストからスロットタイプが削除されます。

      1. スロットタイプをボットに追加した後に、そのスロットタイプに値を追加できます。

1. インテントとスロットタイプを確認したら、ページ上部の **[インテントとスロットタイプを追加]** を選択して、インテントとスロットタイプをボットに追加します。

1. リソースの追加が完了すると、緑色の成功バナーが表示されます。生成されたインテントやスロットタイプを編集したり、値を追加したりするには、**[インテント]** と **[スロットタイプ]** に移動します。

1. **生成されたインテント**と**生成されたスロットタイプ**が、作成するボットにほとんど適用できない場合は、次の手順を実行します。

   1. **[記述的ボットビルダーの詳細]** セクションで、**[新しい生成]** を選択します。

   1. プロンプトを書き直して **[再生成]** を選択し、新しいインテントとスロットタイプを生成します。別のモデルを使用すると、結果は異なります。
**重要**  
同じインテントやスロットが生成される保証はありません。インテントやスロットタイプを再生成するたびに課金されます。

------
#### [ API ]

**自然言語の説明を使用してボットを作成する**

API を介して記述的ボットビルダーを使用すると、Amazon S3 バケットにボット定義が .zip ファイルとして作成されます。このファイルをダウンロードし、ボット定義を Amazon Lex V2 にインポートしてボットを作成します。

1. [CreateBot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBot.html) リクエストを送信して、新しいボットを作成します。次に、[CreateBotLocale](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_CreateBotLocale.html) リクエストを送信して、ボットロケールを作成します。

1. ボットの ID、バージョン、ロケールを指定して、[StartBotResourceGeneration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_StartBotResourceGeneration.html) リクエストを送信します。ボットバージョンとして `DRAFT` を使用できます。`generationInputPrompt` フィールドにプロンプトを入力します。説明は、詳細かつ正確な内容とし、ボットのインテントを適切かつ十分に生成できるようにします。****インテント作成プロセスを改善するためのアクションのリストを含めます。

1. レスポンス内の `generationId` を記録しておきます。

1. `StartBotResourceGeneration` レスポンスで受け取った `generationId` を使用して [DescribeBotResourceGeneration](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_DescribeBotResourceGeneration.html) リクエストを送信します。ボット ID、バージョン、ロケールを含めます。

1. `DescribeBotResourceGeneration` レスポンス内の `generationStatus` が `Complete` である場合、`generatedBotLocaleUrl` フィールドも入力されます。この Amazon S3 URI を使用し、「[オブジェクトのダウンロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)」の手順に従ってボット定義をダウンロードします。

**生成されたボット定義を確認してインポートする**

1. `DescribeBotResourceGeneration` レスポンス内の `generationStatus` から Amazon S3 URI を使用し、「[オブジェクトのダウンロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html)」の手順に従ってボット定義をダウンロードします。

1. ファイルを編集することで、生成されたコンテンツをボットの特定のユースケースに合わせて直接変更できます。別の `StartBotResourceGeneration` リクエストを送信してインテントとスロットを再生成することもできます。
**重要**  
同じインテントやスロットが生成される保証はありません。インテントやスロットタイプを再生成するたびに課金されます。

1. ボット定義をインポートするには、「[Lex V2 でのボットのインポート](import.md)」の手順に従います。

1. インポート後に、[UpdateIntent](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateIntent.html)、[UpdateSlot](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlot.html)、および [UpdateSlotType](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateSlotType.html) の各オペレーションを使用して、生成されたインテントとスロットを変更できます。

ボットロケールで生成されたすべての項目に関するメタデータを一覧表示するには、[ListBotResourceGenerations](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_ListBotResourceGenerations.html) オペレーションを使用します。`DescribeBotResourcGeneration` リクエストで返された `generationId` 値のいずれかを使用して、生成されたボット定義の Amazon S3 URI を取得します。

------

**Topics**
+ [記述型ボットビルダーのボットの説明例](nld-examples.md)
+ [Lex V2 で自然言語による説明でボットを作成するために必要な権限](nld-permissions.md)

# 記述型ボットビルダーのボットの説明例
<a name="nld-examples"></a>

Amazon Lex V2 の記述型ボットビルダーで使用できるボットの説明の例をいくつか示します。


| 業界 | プロンプトの例 | 
| --- | --- | 
| 金融サービス | 当社は、ユーザーが新しいカードを受け取ったときに、カードの有効化、暗証番号の Eメール送信または郵送、新しいカードの確認 (郵便番号を使用) などのタスクをユーザーが実行できるようにする金融カードサービスです。また、クレジットカードの特典に関する問い合わせ、紛失したカードの報告、新しいカードのリクエスト、カード暗証番号のリセット、カード請求書の支払いなど、既存のカードに関連するタスクを支援します。 | 
| フードサービス | お客様による食品の注文 (商品 ID、数量、サイズを使用)、注文状況の確認、注文のキャンセルを支援するボットが必要です。注文 ID は注文のインデックス作成に使用します。 | 
| 航空会社 | 当社は、ユーザーが航空券の予約、予約の詳細の確認、予約したフライトの領収書の取得、フライト状況の照会、予約したフライトのスケジュール変更、フライトの詳細の取得、予約したフライトのキャンセルを支援する航空会社ドメインです。ドメインの説明で機能のサポートに役立つ場合は、追加のインテントを生成することもできます。 | 
| 保険 | 目的: 当社は自動車保険、住宅保険、年金保険を販売する保険会社です。請求状況の確認、請求の提出、保険金の支払い、保険契約のキャンセルができるボットが必要です。アカウントの識別と検証には policy\$1id と SSN の最後 4 桁を使用します。ボットには少なくとも次のインテントとスロットが必要です: 認証 - policy\$1id、SSN の最後の 4 桁。ポリシータイプ: 車、住宅、年金。ポリシーステータス: 残高確認、期日確認、補償範囲確認。支払い: 一括払い、分割払い、金額 | 
| 車両管理 | 当社は、都市のドライバーが車の牽引先を見つけるのを支援する牽引車検索ボットを構築しています。このボットは、自動車がレッカー移動された元の場所の住所または場所、車のナンバープレートとメーカー、モデル、年式などの自動車の詳細を尋ねる必要があります。ボットは、牽引された車の駐車場の場所と営業時間を返信する必要があります。 | 
| 旅行 | 当社は旅行代理店で、お客様のディズニーへの旅行予約を支援するボットが必要です。ディズニーは世界中に複数のパークを展開しており、予約可能なホテル、レストラン、特別なエンターテイメントもあります。ボットのユーザーは、予約を変更またはキャンセルできる必要があります。予約には、少なくともパーク、日程、ホテルを含める必要があります。食事やエンターテイメントの追加はオプションで、後で追加または変更できます。 | 

# Lex V2 で自然言語による説明でボットを作成するために必要な権限
<a name="nld-permissions"></a>
+ この機能に Amazon Lex V2 コンソールからアクセスするには、コンソールのロールに `bedrock:ListFoundationModels` 権限と `bedrock:ListInferenceProfiles` 権限があることを確認してください。
+ ボットに関連付けられた IAM ロールには、`bedrock:InvokeModel` 権限が必要です。この機能を Amazon Lex コンソールで有効にすると、Amazon Lex によって生成されたサービスリンクロールをボットで使用している場合、ポリシーがボットロールに自動的に追加されます。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "bedrock:InvokeModel"
              ],
              "Resource": [
                  "arn:aws:bedrock:us-east-1::foundation-model/model-id"
              ]
          }
      ]
  }
  ```

------