Інформація про дані Платона.
Вертикальний пошук і штучний інтелект.

Керуйте своїм ботом Amazon Lex за допомогою шаблонів AWS CloudFormation | Веб-сервіси Amazon

Дата:

Амазон Лекс – це повністю керована служба штучного інтелекту (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 CodePipeline та AWS CodeBuild для створення, тестування та автоматичного розгортання вашого бота Amazon Lex.

У цій публікації ми проведемо вас через кроки, пов’язані зі створенням шаблону CloudFormation для бота Amazon Lex V2.

Огляд рішення

Ми вибрали Забронювати подорож bot як відправну точку для цієї вправи. Ми використовуємо шаблон CloudFormation, щоб створити нового бота з нуля, включаючи визначення намірів, слотів та інших необхідних компонентів. Крім того, ми вивчаємо такі теми, як контроль версій, псевдоніми, інтеграція AWS Lambda функції, створюючи умовні розгалуження та вмикаючи журналювання.

Передумови

Ви повинні мати такі передумови:

Створіть роль IAM

Для початку вам потрібно створити роль IAM, яку використовуватиме бот. Ви можете досягти цього, ініціалізувавши шаблон CloudFormation і додавши роль IAM як ресурс. Ви можете використовувати наступний шаблон для створення ролі. Якщо ви завантажити приклад шаблону і розгорніть його, ви побачите, що роль IAM створено. Ми надаємо приклади шаблонів під час перегляду цієї публікації та об’єднуємо їх у міру просування.

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: CloudFormation template for book hotel bot.
Resources:
  # 1. IAM role that is used by the bot at runtime
  BotRuntimeRole:    
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lexv2.amazonaws.com
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        - PolicyName: LexRuntimeRolePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - "polly:SynthesizeSpeech"
                  - "comprehend:DetectSentiment"
                Resource: "*"

Налаштуйте бота Amazon Lex

Далі вам потрібно додати визначення бота. Нижче наведено шаблон YAML для визначення бота Amazon Lex; Ви створюєте необхідні компоненти один за іншим:

Type: AWS::Lex::Bot
Properties:
  AutoBuildBotLocales: Boolean
  BotFileS3Location: 
    S3Location
  BotLocales: 
    - BotLocale
  BotTags: 
    - Tag
  DataPrivacy: 
    DataPrivacy
  Description: String
  IdleSessionTTLInSeconds: Integer
  Name: String
  RoleArn: String
  TestBotAliasSettings: 
    TestBotAliasSettings
  TestBotAliasTags: 
    - Tag

Щоб створити бота, який містить лише визначення бота без будь-якого наміру, ви можете використати наступний шаблон. Тут ви вказуєте ім’я бота, ARN ролі, яку ви створили раніше, налаштування конфіденційності даних тощо:

BookHotelBot:
    DependsOn: BotRuntimeRole # The role created in the previous step
    Type: AWS::Lex::Bot
    Properties:
      Name: "BookHotel"
      Description: "Sample Bot to book a hotel"
      RoleArn: !GetAtt BotRuntimeRole.Arn      
      #For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex 
      #is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under 
      #age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the 
      #childDirected field.
      DataPrivacy:
        ChildDirected: false
      IdleSessionTTLInSeconds: 300

Ти можеш завантажити оновлений шаблон. Розгортання оновленого шаблону дозволяє створити як роль, так і визначення бота. Зверніть увагу, що ви оновлення стека ви створили на попередньому кроці.

Останнім кроком є ​​визначення BotLocales, які складають більшість функцій бота. Це включає, наприклад, Intents та Slot types. Нижче наведено шаблон YAML:

  CustomVocabulary: 
    CustomVocabulary
  Description: String
  Intents: 
    - Intent
  LocaleId: String
  NluConfidenceThreshold: Number
  SlotTypes: 
    - SlotType
  VoiceSettings: 
    VoiceSettings

У цьому випадку ви будуєте BookHotel intent, що вимагає спеціального типу слота для типів кімнат. Ви встановлюєте LocaleId, А потім VoiceSettings. Потім ви додаєте SlotTypes та їх відповідні значення.

Наступним кроком є ​​визначення Intents, починаючи з першого наміру, BookHotel, що передбачає додавання висловлювань, слотів і пріоритетів слотів. Деталі цих вузлів показано в наданому шаблоні. Нарешті, ви додаєте другий намір, який є FallbackIntent. Дивіться наступний код:

BotLocales:
        - LocaleId: "en_US"
          Description: "en US locale"
          NluConfidenceThreshold: 0.40
          VoiceSettings:
            VoiceId: "Matthew"
          SlotTypes:
            - Name: "RoomTypeValues"
              Description: "Type of room"
              SlotTypeValues:
                - SampleValue:
                    Value: queen
                - SampleValue:
                    Value: king
                - SampleValue:
                    Value: deluxe
              ValueSelectionSetting:
                ResolutionStrategy: ORIGINAL_VALUE
          Intents:
            - Name: "BookHotel"
              Description: "Intent to book a hotel room"
              SampleUtterances:
                - Utterance: "Book a hotel"
                - Utterance: "I want a make hotel reservations"
                - Utterance: "Book a {Nights} night stay in {Location}"
              IntentConfirmationSetting:
                PromptSpecification:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have you down for a {Nights} night stay in {Location} starting {CheckInDate}.  Shall I book the reservation?"
                  MaxRetries: 3
                  AllowInterrupt: false
                DeclinationResponse:
                  MessageGroupsList:
                    - Message:
                        PlainTextMessage:
                          Value: "Okay, I have cancelled your reservation in progress."
                  AllowInterrupt: false
              SlotPriorities:
                - Priority: 1
                  SlotName: Location
                - Priority: 2
                  SlotName: CheckInDate
                - Priority: 3
                  SlotName: Nights
                - Priority: 4
                  SlotName: RoomType
              Slots:
                - Name: "Location"
                  Description: "Location of the city in which the hotel is located"
                  SlotTypeName: "AMAZON.City"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What city will you be staying in?"
                      MaxRetries: 2
                      AllowInterrupt: false
                - Name: "CheckInDate"
                  Description: "Date of check-in"
                  SlotTypeName: "AMAZON.Date"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What day do you want to check in?"
                      MaxRetries: 2
                      AllowInterrupt: false
                - Name: "Nights"
                  Description: "something"
                  SlotTypeName: "AMAZON.Number"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "How many nights will you be staying?"
                      MaxRetries: 2
                      AllowInterrupt: false
                - Name: "RoomType"
                  Description: "Enumeration of types of rooms that are offered by a hotel."
                  SlotTypeName: "RoomTypeValues"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "What type of room would you like, queen, king or deluxe?"
                      MaxRetries: 2
                      AllowInterrupt: false
            - Name: "FallbackIntent"
              Description: "Default intent when no other intent matches"
              ParentIntentSignature: "AMAZON.FallbackIntent"

Ти можеш завантажити шаблон CloudFormation за виконану роботу дотепер. Після вас оновіть свій стек за допомогою цього шаблону буде розгорнуто функціональний бот. На консолі Amazon Lex ви можете підтвердити, що існує чернеткова версія бота та псевдонім за замовчуванням під назвою TestBotAlias був створений.

псевдонім бота

Створіть нову версію бота та псевдонім

Amazon Lex підтримує публікацію версії ботів, намірів і типів слотів, щоб ви могли контролювати реалізацію своїх клієнтських програм. Версія — це пронумерований знімок визначення вашого бота, який ви можете опублікувати для використання в різних частинах робочого процесу, наприклад у розробці, розгортанні бета-версії та виробництві. Боти Amazon Lex також підтримуються псевдоніми. Псевдонім — це вказівник на певну версію бота. За допомогою псевдоніма ви можете оновити версію своїх клієнтських програм. У практичних сценаріях псевдоніми ботів використовуються для синьо-зелених розгортань і керування конфігураціями середовища, такими як середовища розробки та виробництва.

Для ілюстрації припустімо, що ви вказуєте псевдонім версії 1 свого бота. Коли прийде час оновити бота, ви можете опублікувати версію 2 і змінити псевдонім, щоб вказувати на нову версію. Оскільки ваші програми використовують псевдонім замість певної версії, усі клієнти отримують нову функціональність, не вимагаючи оновлень.

Майте на увазі, що коли ви змінюєте шаблон CloudFormation і починаєте розгортання, зміни впроваджуються в чорнову версію, призначену в першу чергу для тестування. Після завершення етапу тестування ви можете створити нову версію, щоб завершити внесені зміни.

Далі ви створюєте нову версію бота на основі вашого проекту, налаштовуєте новий псевдонім і пов’язуєте версію з цим псевдонімом. Нижче наведено два нові ресурси, які можна додати до вашого шаблону:

BookHotelInitialVersion:
    DependsOn: BookHotelBot
    Type: AWS::Lex::BotVersion
    Properties:
      BotId: !Ref BookHotelBot
      BotVersionLocaleSpecification:
        - LocaleId: en_US
          BotVersionLocaleDetails:
            SourceBotVersion: DRAFT
      Description: Hotel Bot initial version

  BookHotelDemoAlias:
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref BookHotelBot
      BotAliasName: "BookHotelDemoAlias"
      BotVersion: !GetAtt BookHotelInitialVersion.BotVersion

Ти можеш завантажити нову версію шаблону і розгорніть його, оновивши свій стек. Ви можете побачити на консолі Amazon Lex, що створено нову версію та пов’язано з новим псевдонімом під назвою BookHotelDemoAlias.

демонстраційний псевдонім

Коли ви створюєте нову версію бота Amazon Lex, він зазвичай збільшує номер версії послідовно, починаючи з 1. Щоб визначити конкретну версію, ви можете звернутися до її опису.

початкова версія

Додайте лямбда-функцію

Щоб ініціалізувати значення або перевірити введені користувачем дані для вашого бота, ви можете додати функцію Lambda як перехоплення коду до свого бота. Подібним чином ви можете використовувати функцію лямбда для виконання, наприклад, записувати дані в бази даних або викликати API для збереження зібраної інформації. Для отримання додаткової інформації див Увімкнення спеціальної логіки за допомогою функцій AWS Lambda.

Давайте додамо новий ресурс для функції Lambda до шаблону CloudFormation. Хоча зазвичай не рекомендується вбудовувати код у шаблони CloudFormation, ми робимо це тут виключно для того, щоб зробити демонстраційне розгортання менш складним. Перегляньте наступний код:

HotelBotFunction:
    DependsOn: BotRuntimeRole # So that the Lambda function is ready before the bot deployment
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: book_hotel_lambda
      Runtime: python3.11
      Timeout: 15
      Handler: index.lambda_handler
      InlineCode: |
        import os
        import json

        def close(intent_request):
            intent_request['sessionState']['intent']['state'] = 'Fulfilled'

            message = {"contentType": "PlainText",
                      "content": "Your Booking is confirmed"}

            session_attributes = {}
            sessionState = intent_request['sessionState']
            if 'sessionAttributes' in sessionState:
                session_attributes = sessionState['sessionAttributes']

            requestAttributes = None
            if 'requestAttributes' in intent_request:
                requestAttributes = intent_request['requestAttributes']

            return {
                'sessionState': {
                    'sessionAttributes': session_attributes,
                    'dialogAction': {
                        'type': 'Close'
                    },
                    'intent': intent_request['sessionState']['intent'],
                    'originatingRequestId': 'xxxxxxx-xxxx-xxxx-xxxx'
                },
                'messages':  [message],
                'sessionId': intent_request['sessionId'],
                'requestAttributes': requestAttributes
            }

        def router(event):
            intent_name = event['sessionState']['intent']['name']
            slots = event['sessionState']['intent']['slots']
            if (intent_name == 'BookHotel'):
                # invoke lambda and return result
                return close(event)

            raise Exception(
                'The intent is not supported by Lambda: ' + intent_name)

        def lambda_handler(event, context):
            response = router(event)
            return response

Щоб використовувати цю функцію Lambda для виконання, увімкніть параметри перехоплення коду у вашому намірі:

Intents:
  - Name: "BookHotel"
    Description: "Intent to book a hotel room"
    FulfillmentCodeHook:
      Enabled: true
    SampleUtterances:
      - Utterance: "Book a hotel"
      - Utterance: "I want a make hotel reservations"
      - Utterance: "Book a {Nights} night stay in {Location}"

Оскільки ви внесли зміни до свого бота, ви можете створити нову версію бота, додавши новий ресурс під назвою BookHotelVersionWithLambda в шаблоні:

BookHotelVersionWithLambda:
    DependsOn: BookHotelInitialVersion
    Type: AWS::Lex::BotVersion
    Properties:
      BotId: !Ref BookHotelBot
      BotVersionLocaleSpecification:
        - LocaleId: en_US
          BotVersionLocaleDetails:
            SourceBotVersion: DRAFT
      Description: Hotel Bot with a lambda function

Функція Lambda пов’язана з псевдонімом бота. Amazon Lex V2 може використовувати одну функцію Lambda на псевдонім бота на мову. Тому ви повинні оновити свій псевдонім у шаблоні, щоб додати ресурс функції Lambda. Ви можете зробити це в BotAliasLocalSettings розділ. Вам також потрібно вказати псевдонім нової версії, яку ви створили. Наступний код є модифікованою конфігурацією псевдоніма:

  BookHotelDemoAlias:
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref BookHotelBot
      BotAliasName: "BookHotelDemoAlias"
      BotVersion: !GetAtt BookHotelVersionWithLambda.BotVersion
      # Remove BotAliasLocaleSettings if you aren't concerned with Lambda setup.
      # If you are you can modify the LambdaArn below to get started.
      BotAliasLocaleSettings:
        - LocaleId: en_US
          BotAliasLocaleSetting:
            Enabled: true
            CodeHookSpecification:
              LambdaCodeHook:
                CodeHookInterfaceVersion: "1.0"
                LambdaArn: !GetAtt HotelBotFunction.Arn

До цього часу ви лише пов’язували функцію лямбда з псевдонімом. Однак вам потрібно надати дозвіл, щоб псевдонім міг викликати функцію Lambda. У наступному коді ви додаєте дозвіл на виклик Lambda для Amazon Lex і вказуєте псевдонім ARN як джерело ARN:

  LexInvokeLambdaPermission:
    Type: AWS::Lambda::Permission
    Properties:
      Action: "lambda:InvokeFunction"
      FunctionName: !GetAtt HotelBotFunction.Arn
      Principal: "lexv2.amazonaws.com"
      SourceArn: !GetAtt BookHotelDemoAlias.Arn

Ти можеш завантажити останню версію шаблону. Після оновлення стека цією версією ви матимете бота Amazon Lex, інтегрованого з функцією Lambda.

друга версія

оновлений псевдонім

Умовні гілки

Тепер давайте вивчимо функцію умовної гілки бота Amazon Lex і розглянемо сценарій, коли бронювання більше ніж на п’ять ночей у Сіетлі не дозволяється на наступний тиждень. Згідно з бізнес-вимогами, розмова має завершуватися відповідним повідомленням, якщо користувач намагається забронювати більше п’яти ночей у Сіетлі. Умовна гілка для цього представлена ​​в шаблоні CloudFormation під SlotCaptureSetting:

- Name: "Nights"
                  Description: “Number of nights.”
                  SlotTypeName: "AMAZON.Number"
                  ValueElicitationSetting:
                    SlotConstraint: "Required"
                    SlotCaptureSetting:
                      CaptureConditional:
                        DefaultBranch:
                          NextStep:
                            DialogAction:
                              Type: "ElicitSlot"
                              SlotToElicit: "RoomType"
                        ConditionalBranches:
                          - Name: "Branch1"
                            Condition:
                              ExpressionString: '{Nights}>5 AND {Location} = "Seattle"'
                            Response:
                              AllowInterrupt: true
                              MessageGroupsList:
                                - Message:
                                    PlainTextMessage:
                                      Value: “Sorry, we cannot book more than five nights in {Location} right now."
                            NextStep:
                              DialogAction:
                                Type: "EndConversation"
                        IsActive: true

                    PromptSpecification:
                      MessageGroupsList:
                        - Message:
                            PlainTextMessage:
                              Value: "How many nights will you be staying?"
                      MaxRetries: 2
                      AllowInterrupt: false

Оскільки ви змінили визначення бота, вам потрібно створити нову версію в шаблоні та пов’язати її з псевдонімом. Це тимчасова зміна, оскільки компанія планує незабаром дозволити великі бронювання в Сіетлі. Нижче наведено два нові ресурси, які ви додаєте до шаблону:

BookHotelConditionalBranches:
    DependsOn: BookHotelVersionWithLambda
    Type: AWS::Lex::BotVersion
    Properties:
      BotId: !Ref BookHotelBot
      BotVersionLocaleSpecification:
        - LocaleId: en_US
          BotVersionLocaleDetails:
            SourceBotVersion: DRAFT
      Description: Hotel Bot Version with conditional branches

  BookHotelDemoAlias:
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref BookHotelBot
      BotAliasName: "BookHotelDemoAlias"
      BotVersion: !GetAtt BookHotelConditionalBranches.BotVersion
      # Remove BotAliasLocaleSettings if you aren't concerned with Lambda setup.
      # If you are you can modify the LambdaArn below to get started.
      BotAliasLocaleSettings:
        - LocaleId: en_US
          BotAliasLocaleSetting:
            Enabled: true
            CodeHookSpecification:
              LambdaCodeHook:
                CodeHookInterfaceVersion: "1.0"
                LambdaArn: !GetAtt HotelBotFunction.Arn

Ти можеш завантажити оновлений шаблон. Після того, як ви оновите свій стек за допомогою цієї версії шаблону, псевдонім буде спрямовано до версії, яка містить функцію умовного розгалуження. Щоб скасувати цю зміну, ви можете оновити псевдонім, щоб повернутися до попередньої версії.

третя версія

псевдонім для третьої версії

Logs

Ви також можете ввімкнути журнали для свого бота Amazon Lex. Для цього потрібно оновити роль бота, щоб надати дозволи на запис Amazon CloudWatch колоди. Нижче наведено приклад додавання політики CloudWatch до ролі:

BotRuntimeRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lexv2.amazonaws.com
            Action:
              - "sts:AssumeRole"
      Path: "/"
      Policies:
        - PolicyName: LexRuntimeRolePolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - "polly:SynthesizeSpeech"
                  - "comprehend:DetectSentiment"
                Resource: "*"
        - PolicyName: CloudWatchPolicy
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - "logs:CreateLogStream"
                  - "logs:PutLogEvents"
                Resource: "*"

Щоб забезпечити послідовну та передбачувану поведінку, ви повинні бути якомога точнішими під час визначення назв ресурсів і властивостей у шаблонах CloudFormation. Це пояснюється тим, що використання символу підстановки (*) у шаблонах CloudFormation може становити потенційні ризики для безпеки та призвести до небажаних наслідків. Тому рекомендується уникати використання символів узагальнення, а натомість використовувати явні значення, де це можливо.

Далі ви створюєте ресурс групи журналів CloudWatch, як показано в наведеному нижче коді, щоб направляти ваші журнали до цієї групи:

  #Log Group
  LexLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName: /lex/hotel-bot
      RetentionInDays: 5

Нарешті, ви оновлюєте свій псевдонім, щоб увімкнути налаштування журналу розмов:

BookHotelDemoAlias:
    Type: AWS::Lex::BotAlias
    Properties:
      BotId: !Ref BookHotelBot
      BotAliasName: "BookHotelDemoAlias"
      BotVersion: !GetAtt BookHotelConditionalBranches.BotVersion
      BotAliasLocaleSettings:
        - LocaleId: en_US
          BotAliasLocaleSetting:
            Enabled: true
            CodeHookSpecification:
              LambdaCodeHook:
                CodeHookInterfaceVersion: "1.0"
                LambdaArn: !GetAtt HotelBotFunction.Arn
      ConversationLogSettings:
        TextLogSettings:
          - Destination:
              CloudWatch:
                CloudWatchLogGroupArn: !GetAtt LexLogGroup.Arn
                LogPrefix: bookHotel
            Enabled: true

Коли ви оновлюєте стек за допомогою цього шаблону, ви вмикаєте журнали розмов для свого бота. На цьому кроці нова версія не створюється, оскільки ваш ресурс бота не змінюється. Ти можеш завантажити останню версію шаблону.

Прибирати

Щоб уникнути стягнення плати в майбутньому, видаліть створений вами стек CloudFormation.

Висновок

У цій публікації ми обговорили покроковий процес створення шаблону CloudFormation для бота Amazon Lex V2. Спочатку ми розгорнули базового бота, а потім дослідили потенціал псевдонімів і версій і те, як їх ефективно використовувати з шаблонами. Далі ми дізналися, як інтегрувати функцію Lambda з ботом Amazon Lex V2 і реалізували умовне розгалуження в потоці розмови бота, щоб відповідати вимогам бізнесу. Нарешті, ми додали функції журналювання, створивши ресурс групи журналів CloudWatch і оновивши роль бота необхідними дозволами.

Шаблон забезпечує просте розгортання та керування ботом із можливістю скасовувати зміни за потреби. Загалом, шаблон CloudFormation корисний для керування та оптимізації бота Amazon Lex V2.

Наступним кроком ви можете дослідити зразок ботів Amazon Lex і застосувати методи, розглянуті в цій публікації, щоб перетворити їх на шаблони CloudFormation. Ця практична практика зміцнить ваше розуміння керування ботами Amazon Lex V2 через інфраструктуру як код.


Про авторів

Томас Ріндфус є старшим архітектором рішень у команді Amazon Lex. Він винаходить, розробляє, створює прототипи та пропагує нові технічні функції та рішення для сервісів Language AI, які покращують взаємодію з клієнтами та спрощують впровадження.

Ріджеш Аккамбет Чатот є консультантом з професійних послуг в AWS. Він допомагає клієнтам досягти бажаного бізнесу
результатів у просторі Контакт-центру завдяки використанню функцій Amazon Connect, Amazon Lex і GenAI.

spot_img

Остання розвідка

spot_img

Зв'яжіться з нами!

Привіт! Чим я можу вам допомогти?