Hallake oma Amazon Lexi robotit AWS CloudFormationi mallide kaudu | Amazoni veebiteenused

Hallake oma Amazon Lexi robotit AWS CloudFormationi mallide kaudu | Amazoni veebiteenused

Amazon Lex on täielikult hallatav tehisintellekti (AI) teenus täiustatud loomuliku keele mudelitega, et kujundada, ehitada, testida ja juurutada rakendustes vestlusliideseid. See kasutab kasutaja sisendi mõistmiseks täiustatud süvaõppe tehnoloogiaid, võimaldades arendajatel luua vestlusroboteid, virtuaalseid assistente ja muid rakendusi, mis saavad suhelda kasutajatega loomulikus keeles.

Oma Amazon Lexi robotite haldamine kasutades AWS CloudFormation võimaldab teil luua malle, mis määratlevad roboti ja kõik AWS-i ressursid, millest see sõltub. AWS CloudFormation pakub ja konfigureerib neid ressursse teie nimel, kõrvaldades robotite uutesse keskkondadesse juurutamisel inimliku vea. CloudFormationi kasutamise eelised hõlmavad järgmist:

  • järjepidevus – CloudFormationi mall pakub ühtsemat ja automatiseeritumat viisi Amazon Lexi robotiga seotud ressursside juurutamiseks ja haldamiseks.
  • Versioonihaldus – AWS CloudFormationiga saate oma CloudFormationi mallide haldamiseks kasutada versioonihaldussüsteeme, nagu Git. See võimaldab teil säilitada oma roboti erinevaid versioone ja vajadusel naasta eelmistele versioonidele.
  • Korduvkasutatavus – CloudFormationi malle saate kasutada mitmes keskkonnas, näiteks arenduses, lavastuses ja tootmises. See säästab aega ja vaeva sama roboti määratlemisel erinevates keskkondades.
  • Laiendatavus – Kuna teie Amazon Lex bot muutub keerukamaks, hallake seda rakenduse kaudu AWS-i juhtimiskonsool muutub keerulisemaks. AWS CloudFormation võimaldab sujuvamat ja tõhusamat lähenemist roboti definitsiooni ja ressursside haldamisele.
  • Automaatika – CloudFormationi malli kasutamine võimaldab juurutusprotsessi automatiseerida. Saate kasutada AWS-i teenuseid nagu AWS CodePipeline ja AWS CodeBuild oma Amazon Lexi roboti automaatseks ehitamiseks, testimiseks ja juurutamiseks.

Selles postituses juhendame teid Amazon Lex V2 roboti jaoks CloudFormationi malli loomise sammude kaudu.

Lahenduse ülevaade

Oleme valinud Broneeri Reis bot kui meie selle harjutuse lähtepunkt. Kasutame CloudFormationi malli, et luua nullist uus robot, sealhulgas määratleda kavatsused, pesad ja muud vajalikud komponendid. Lisaks uurime selliseid teemasid nagu versioonikontroll, varjunimed, integreerimine AWS Lambda funktsioonid, tingimuslike harude loomine ja logimise lubamine.

Eeldused

Teil peaksid olema järgmised eeltingimused:

  • An AWS-i konto CloudFormationi malli loomiseks ja juurutamiseks
  • Vajalik AWS-i identiteedi- ja juurdepääsuhaldus (AMI) Õigused AWS CloudFormationi ja mallis kasutatavate ressursside juurutamiseks
  • Algteadmised Amazon Lexist, Lambda funktsioonidest ja nendega seotud teenustest
  • Põhiteadmised CloudFormationi mallide loomise ja juurutamise kohta

Looge IAM-i roll

Alustuseks peate looma IAM-i rolli, mida robot kasutab. Seda saate saavutada, kui lähtestate CloudFormationi malli ja lisate ressursina IAM-i rolli. Rolli loomiseks saate kasutada järgmist malli. Kui sa laadige alla näidismall ja juurutada, peaksite nägema, et IAM-i roll on loodud. Esitame selle postituse läbimisel mallide näiteid ja liidame need edasi.

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: "*"

Seadistage Amazon Lex bot

Järgmisena peate lisama roboti definitsiooni. Järgmine on Amazon Lexi roboti määratluse YAMLi mall; konstrueerite vajalikud komponendid ükshaaval:

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

Boti loomiseks, mis sisaldab ainult roboti määratlust, ilma igasuguse kavatsuseta, saate kasutada järgmist malli. Siin saate määrata roboti nime, varem loodud rolli ARN-i, andmete privaatsusseaded ja palju muud.

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

Võite laadige alla värskendatud mall. Värskendatud malli juurutamine võimaldab teil luua nii rolli kui ka roboti definitsiooni. Pange tähele, et olete virna värskendamine lõite eelmises etapis.

Viimane samm hõlmab määratlemist BotLocales, mis moodustavad suurema osa roboti funktsioonidest. See hõlmab näiteks Intents ja Slot types. Järgmine on YAML-i mall:

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

Sel juhul ehitate BookHotel kavatsus, mis nõuab ruumitüüpide jaoks kohandatud pesa tüüpi. Sina määrasid LocaleId, siis VoiceSettings. Seejärel lisate SlotTypes ja nende vastavad väärtused.

Järgmine samm on määratleda Intents, alustades esimesest kavatsusest, BookHotel, mis hõlmab lausungite, pesade ja pesade prioriteetide lisamist. Nende sõlmede üksikasjad on näidatud kaasasolevas mallis. Lõpuks lisate teise kavatsuse, mis on FallbackIntent. Vaadake järgmist koodi:

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"

Võite laadige alla CloudFormationi mall seni tehtud töö eest. Pärast sind värskendage oma pinu selle malliga juurutatakse funktsionaalne robot. Amazon Lex konsoolis saate kinnitada, et robotist on mustandversioon ja vaikealias nimega TestBotAlias on loodud.

bot-alias

Looge uus roboti versioon ja pseudonüüm

Amazon Lex toetab avaldamist versioonid robotite, kavatsuste ja pesatüüpide kohta, et saaksite juhtida oma klientrakenduste rakendamist. Versioon on nummerdatud hetktõmmis teie roboti määratlusest, mille saate avaldada kasutamiseks oma töövoo erinevates osades, nagu arendus, beetaversioon juurutamine ja tootmine. Toetavad ka Amazon Lexi robotid varjunimed. Alias ​​on kursor roboti konkreetsele versioonile. Pseudonüümi abil saate värskendada oma klientrakenduste versiooni. Praktilistes stsenaariumides kasutatakse robotite varjunimesid sinise/rohelise juurutamiseks ja keskkonnaspetsiifiliste konfiguratsioonide (nt arendus- ja tootmiskeskkonnad) haldamiseks.

Illustreerimiseks oletame, et osutate oma roboti versioonile 1 pseudonüümile. Kui on aeg robotit värskendada, saate avaldada versiooni 2 ja muuta pseudonüümi, et osutada uuele versioonile. Kuna teie rakendused kasutavad konkreetse versiooni asemel varjunime, saavad kõik kliendid uue funktsiooni ilma värskendusi nõudmata.

Pidage meeles, et CloudFormationi malli muutmisel ja juurutamise algatamisel rakendatakse muudatused mustandi versioonis, mis on mõeldud peamiselt testimiseks. Pärast testimisetapi lõpetamist saate luua uue versiooni, et viia lõpule seni tehtud muudatused.

Järgmisena loote mustandi põhjal uue robotiversiooni, seadistate uue pseudonüümi ja linkite versiooni selle aliasega. Järgmised on kaks uut ressurssi, mida oma malli lisada.

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

Võite laadige alla malli uus versioon ja juurutage see oma pinu värskendades. Amazon Lex-i konsoolil näete, et luuakse uus versioon ja seostatakse see uue varjunimega BookHotelDemoAlias.

demo alias

Kui loote Amazon Lexi roboti uue versiooni, suurendab see tavaliselt versiooninumbrit järjestikku, alustades 1-st. Konkreetse versiooni tuvastamiseks võite vaadata selle kirjeldust.

algversioon

Lisage lambda funktsioon

Väärtuste lähtestamiseks või kasutaja sisendi kinnitamiseks roboti jaoks saate oma robotile koodikonksuna lisada Lambda funktsiooni. Samamoodi saate täitmiseks kasutada ka Lambda funktsiooni, näiteks andmete andmebaasidesse kirjutamiseks või API-de kutsumiseks kogutud teabe salvestamiseks. Lisateabe saamiseks vaadake Kohandatud loogika lubamine AWS Lambda funktsioonidega.

Lisame CloudFormationi mallile uue ressursi funktsiooni Lambda jaoks. Kuigi üldiselt ei soovitata CloudFormationi mallidesse koodi manustada, teeme seda siin ainult demo juurutamise lihtsamaks muutmiseks. Vaadake järgmist koodi:

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

Selle lambdafunktsiooni täitmiseks kasutamiseks lubage oma kavatsuses koodikonksu seaded:

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}"

Kuna tegite oma robotis muudatusi, saate luua robotist uue versiooni, lisades uue ressursi nimega BookHotelVersionWithLambda mallis:

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 funktsioon on seotud roboti varjunimega. Amazon Lex V2 saab kasutada ühte Lambda funktsiooni boti varjunime ja keele kohta. Seetõttu peate Lambda funktsiooni ressursi lisamiseks mallis oma varjunime värskendama. Seda saate teha jaotises BotAliasLocalSettings osa. Peate ka pseudonüümi suunama uuele loodud versioonile. Järgmine kood on muudetud pseudonüümi konfiguratsioon:

  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

Siiani olete Lambda funktsiooni aliasega sidunud ainult. Siiski peate andma loa, et lubada varjunimel Lambda funktsiooni käivitada. Järgmises koodis lisate Amazon Lexile Lambda kutsumisõiguse ja määrate lähte-ARN-iks varjunime ARN:

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

Võite alla laadida uusim versioon mallist. Pärast virna värskendamist selle versiooniga on teil Lambda funktsiooniga integreeritud Amazon Lex bot.

teine ​​versioon

uuendatud alis

Tingimuslikud oksad

Nüüd uurime Amazon Lex boti tingimuslikku haru funktsiooni ja kaalume stsenaariumi, kus Seattle'is ei ole järgmiseks nädalaks lubatud broneerida rohkem kui viis ööd. Ärinõuete kohaselt peaks vestlus lõppema asjakohase sõnumiga, kui kasutaja üritab Seattle'is broneerida rohkem kui viis ööd. Selle tingimuslik haru on esitatud CloudFormationi mallis all 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

Kuna muutsite roboti määratlust, peate mallis looma uue versiooni ja linkima selle aliasega. See on ajutine muudatus, kuna äriühing kavatseb peagi lubada Seattle'is suuri broneeringuid. Järgmised on kaks uut ressurssi, mille mallile lisate.

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

Võite laadige alla värskendatud mall. Pärast virna värskendamist selle malli versiooniga suunatakse pseudonüüm versioonile, mis sisaldab tingimusliku hargnemise funktsiooni. Selle muudatuse tagasivõtmiseks saate aliast värskendada, et naasta eelmisele versioonile.

kolmas versioon

alias kolmandale versioonile

Logid

Samuti saate oma Amazon Lexi roboti jaoks logid lubada. Selleks peate kirjutamisõiguste andmiseks värskendama roboti rolli Amazon CloudWatch palgid. Järgmine on näide rollile CloudWatchi poliitika lisamisest.

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: "*"

Järjepideva ja prognoositava käitumise tagamiseks peaksite CloudFormationi mallides ressursside nimede ja atribuutide määratlemisel olema võimalikult täpne. Põhjus on selles, et metamärgi (*) kasutamine CloudFormationi mallides võib põhjustada potentsiaalseid turvariske ja põhjustada soovimatuid tagajärgi. Seetõttu on soovitatav vältida metamärkide kasutamist ja kasutada võimaluse korral selgesõnalisi väärtusi.

Järgmisena loote CloudWatchi logirühma ressursi, nagu on näidatud järgmises koodis, et suunata oma logid sellesse rühma.

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

Lõpuks värskendate oma aliast, et lubada vestluslogi seaded.

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

Kui värskendate virna selle malliga, lubate oma roboti jaoks vestluslogid. Selles etapis uut versiooni ei looda, kuna teie roboti ressursis pole muudatusi. Sa saad laadige alla malli uusim versioon.

Clean Up

Edaspidiste tasude vältimiseks kustutage loodud CloudFormationi virn.

Järeldus

Selles postituses arutasime Amazon Lex V2 roboti jaoks CloudFormationi malli loomise samm-sammulist protsessi. Algselt juurutasime põhiroti, seejärel uurisime varjunimede ja versioonide potentsiaali ning seda, kuidas neid mallidega tõhusalt kasutada. Järgmisena õppisime integreerima Lambda funktsiooni Amazon Lex V2 robotiga ja rakendasime boti vestlusvoos tingimusliku hargnemise, et vastata ärinõuetele. Lõpuks lisasime logimisfunktsioonid, luues CloudWatchi logirühma ressursi ja värskendades roboti rolli vajalike õigustega.

Mall võimaldab roboti otsest juurutamist ja haldamist ning vajaduse korral muudatusi tagasi võtta. Üldiselt on CloudFormationi mall kasulik Amazon Lex V2 roboti haldamiseks ja optimeerimiseks.

Järgmise sammuna saate uurida proovi Amazon Lex robotid ja rakendage selles postituses käsitletud tehnikaid, et teisendada need CloudFormationi mallideks. See praktiline praktika tugevdab teie arusaama Amazon Lex V2 robotite haldamisest koodina infrastruktuuri kaudu.


Autoritest

Hallake oma Amazon Lexi robotit AWS CloudFormationi mallide kaudu | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Thomas Rindfuss on Amazon Lex meeskonna vanemlahenduste arhitekt. Ta leiutab, arendab, prototüüpe ja levitab keelelise AI teenuste uusi tehnilisi funktsioone ja lahendusi, mis parandavad kliendikogemust ja hõlbustavad kasutuselevõttu.

Hallake oma Amazon Lexi robotit AWS CloudFormationi mallide kaudu | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Rijeesh Akkambeth Chathoth on AWSi professionaalsete teenuste konsultant. Ta aitab klientidel soovitud äri saavutada
tulemusi kontaktkeskuse ruumis, kasutades Amazon Connecti, Amazon Lexi ja GenAI funktsioone.

Ajatempel:

Veel alates AWS-i masinõpe