Amazon Lex er en fullstendig administrert kunstig intelligens (AI)-tjeneste med avanserte naturlige språkmodeller for å designe, bygge, teste og distribuere samtalegrensesnitt i applikasjoner. Den bruker avanserte dyplæringsteknologier for å forstå brukerinnspill, slik at utviklere kan lage chatbots, virtuelle assistenter og andre applikasjoner som kan samhandle med brukere på naturlig språk.
Administrere Amazon Lex-robotene dine ved å bruke AWS skyformasjon lar deg lage maler som definerer boten og alle AWS-ressursene den er avhengig av. AWS CloudFormation leverer og konfigurerer disse ressursene på dine vegne, og fjerner risikoen for menneskelige feil ved distribusjon av roboter til nye miljøer. Fordelene med å bruke CloudFormation inkluderer:
- Konsistens – En CloudFormation-mal gir en mer konsistent og automatisert måte å distribuere og administrere ressursene knyttet til en Amazon Lex-bot.
- Versjonskontroll – Med AWS CloudFormation kan du bruke versjonskontrollsystemer som Git til å administrere CloudFormation-malene dine. Dette lar deg vedlikeholde forskjellige versjoner av boten din og rulle tilbake til tidligere versjoner om nødvendig.
- Reus Evne – Du kan gjenbruke CloudFormation-maler på tvers av flere miljøer, for eksempel utvikling, iscenesettelse og produksjon. Dette sparer tid og krefter på å definere den samme roboten på tvers av forskjellige miljøer.
- utvidelses~~POS=TRUNC – Etter hvert som Amazon Lex-roboten din vokser i kompleksitet, administrerer du den gjennom AWS-administrasjonskonsoll blir mer utfordrende. AWS CloudFormation gir mulighet for en mer strømlinjeformet og effektiv tilnærming til å administrere botens definisjon og ressurser.
- Automatisering – Ved å bruke en CloudFormation-mal kan du automatisere distribusjonsprosessen. Du kan bruke AWS-tjenester som AWS CodePipeline og AWS CodeBuild å bygge, teste og distribuere Amazon Lex-roboten din automatisk.
I dette innlegget veileder vi deg gjennom trinnene som er involvert i å lage en CloudFormation-mal for en Amazon Lex V2-bot.
Løsningsoversikt
Vi har valgt Bestill reise bot som utgangspunkt for denne øvelsen. Vi bruker en CloudFormation-mal for å lage en ny bot fra bunnen av, inkludert å definere intensjoner, spor og andre nødvendige komponenter. I tillegg utforsker vi emner som versjonskontroll, aliaser, integrering AWS Lambda funksjoner, opprette betingede grener og aktivere logging.
Forutsetninger
Du bør ha følgende forutsetninger:
- An AWS-konto for å opprette og distribuere en CloudFormation-mal
- Det nødvendige AWS identitets- og tilgangsadministrasjon (JEG ER) tillatelser å distribuere AWS CloudFormation og ressursene som brukes i malen
- Grunnleggende kunnskap om Amazon Lex, Lambda-funksjoner og tilhørende tjenester
- Grunnleggende kunnskap om å lage og distribuere CloudFormation-maler
Lag en IAM-rolle
For å begynne må du opprette en IAM-rolle som boten skal bruke. Du kan oppnå dette ved å initialisere en CloudFormation-mal og legge til IAM-rollen som en ressurs. Du kan bruke følgende mal for å opprette rollen. Hvis du last ned eksempelmalen og distribuere den, bør du se at en IAM-rolle er opprettet. Vi gir eksempler på maler når vi går gjennom dette innlegget og slår dem sammen etter hvert som vi kommer lenger.
Konfigurer Amazon Lex-boten
Deretter må du legge til botdefinisjonen. Følgende er YAML-malen for Amazon Lex-botdefinisjonen; du konstruerer de nødvendige komponentene en etter en:
For å lage en bot som bare inkluderer botdefinisjonen uten noen hensikt, kan du bruke følgende mal. Her spesifiserer du botens navn, ARN for rollen du tidligere opprettet, innstillinger for personvern og mer:
Du kan last ned den oppdaterte malen. Ved å distribuere den oppdaterte malen kan du opprette både rollen og botdefinisjonen. Merk at du er oppdaterer stabelen du opprettet i forrige trinn.
Det siste trinnet innebærer å definere BotLocales
, som utgjør størstedelen av robotens funksjonalitet. Dette inkluderer f.eks. Intents
og Slot types
. Følgende er YAML-malen:
I dette tilfellet bygger du BookHotel
intent, som krever en tilpasset sportype for romtyper. Du stiller inn LocaleId
, og så VoiceSettings
. Deretter legger du til SlotTypes
og deres tilsvarende verdier.
Det neste trinnet er å definere Intents
, starter med den første hensikten, BookHotel
, som innebærer å legge til ytringer, spor og sporprioriteter. Detaljene til disse nodene er demonstrert i den medfølgende malen. Til slutt legger du til den andre intensjonen, som er FallbackIntent
. Se følgende kode:
Du kan last ned CloudFormation-malen for arbeidet som er gjort til nå. Etter deg oppdater stabelen din med denne malen vil en funksjonell bot bli distribuert. På Amazon Lex-konsollen kan du bekrefte at det er en utkastversjon av boten, og et standardalias kalt TestBotAlias
har blitt skapt.
Opprett en ny botversjon og alias
Amazon Lex støtter publisering versjoner av roboter, intensjoner og sportyper slik at du kan kontrollere implementeringen av klientapplikasjonene dine. En versjon er et nummerert øyeblikksbilde av botdefinisjonen din som du kan publisere for bruk i forskjellige deler av arbeidsflyten din, for eksempel utvikling, beta-distribusjon og produksjon. Amazon Lex-roboter støtter også aliaser. Et alias er en peker til en spesifikk versjon av en bot. Med et alias kan du oppdatere klientapplikasjonenes versjon. I praktiske scenarier brukes botaliaser for blå/grønne distribusjoner og administrasjon av miljøspesifikke konfigurasjoner som utviklings- og produksjonsmiljøer.
For å illustrere, la oss si at du peker et alias til versjon 1 av boten din. Når det er på tide å oppdatere boten, kan du publisere versjon 2 og endre aliaset for å peke til den nye versjonen. Fordi applikasjonene dine bruker aliaset i stedet for en spesifikk versjon, mottar alle klienter den nye funksjonaliteten uten å kreve oppdateringer.
Husk at når du endrer CloudFormation-malen og starter distribusjon, implementeres endringene i utkastversjonen, primært ment for testing. Etter at du har fullført testfasen, kan du etablere en ny versjon for å fullføre endringene du har innlemmet så langt.
Deretter oppretter du en ny botversjon basert på utkastet ditt, setter opp et nytt alias og kobler versjonen til dette aliaset. Følgende er de to nye ressursene du kan legge til i malen din:
Du kan last ned den nye versjonen av malen og distribuer den ved å oppdatere stabelen din. Du kan se på Amazon Lex-konsollen at en ny versjon er opprettet og assosiert med et nytt alias kalt BookHotelDemoAlias
.
Når du oppretter en ny versjon av en Amazon Lex-bot, øker den vanligvis versjonsnummeret sekvensielt, fra 1. For å se en spesifikk versjon kan du se beskrivelsen.
Legg til en Lambda-funksjon
For å initialisere verdier eller validere brukerinndata for boten din, kan du legge til en Lambda-funksjon som en kodekrok til boten din. På samme måte kan du bruke en Lambda-funksjon for oppfyllelse også, for eksempel å skrive data til databaser eller ringe APIer for å lagre den innsamlede informasjonen. For mer informasjon, se Aktiverer tilpasset logikk med AWS Lambda-funksjoner.
La oss legge til en ny ressurs for Lambda-funksjonen i CloudFormation-malen. Selv om det generelt ikke anbefales å bygge inn kode i CloudFormation-maler, gjør vi det her utelukkende for å gjøre demo-distribusjonen mindre komplisert. Se følgende kode:
For å bruke denne Lambda-funksjonen for oppfyllelsen, aktiver kodekroken-innstillingene i din hensikt:
Fordi du har gjort endringer i boten din, kan du opprette en ny versjon av boten ved å legge til en ny ressurs kalt BookHotelVersionWithLambda
i malen:
Lambda-funksjonen er assosiert med et bot-alias. Amazon Lex V2 kan bruke én Lambda-funksjon per botalias per språk. Derfor må du oppdatere aliaset ditt i malen for å legge til Lambda-funksjonsressursen. Du kan gjøre det i BotAliasLocalSettings
seksjon. Du må også peke aliaset til den nye versjonen du opprettet. Følgende kode er den modifiserte aliaskonfigurasjonen:
Til nå har du kun koblet Lambda-funksjonen med aliaset. Du må imidlertid gi tillatelse til å tillate aliaset å påkalle Lambda-funksjonen. I følgende kode legger du til Lambda-påkallingstillatelsen for Amazon Lex og spesifiserer aliaset ARN som kilde-ARN:
Du kan last ned den nyeste versjonen av malen. Etter å ha oppdatert stabelen din med denne versjonen, vil du ha en Amazon Lex-bot integrert med en Lambda-funksjon.
Betingede grener
La oss nå utforske den betingede grenfunksjonen til Amazon Lex-boten og vurdere et scenario der det ikke er tillatt å bestille mer enn fem netter i Seattle den neste uken. I henhold til forretningskravet bør samtalen avsluttes med en passende melding hvis brukeren prøver å bestille mer enn fem netter i Seattle. Den betingede grenen for det er representert i CloudFormation-malen under SlotCaptureSetting
:
Fordi du endret botdefinisjonen, må du opprette en ny versjon i malen og koble den til aliaset. Dette er en midlertidig endring fordi virksomheten planlegger å tillate store bestillinger i Seattle snart. Følgende er de to nye ressursene du legger til i malen:
Du kan last ned den oppdaterte malen. Etter at du har oppdatert stabelen din med denne malversjonen, vil aliaset bli dirigert til versjonen som inneholder den betingede forgreningsfunksjonen. For å angre denne endringen kan du oppdatere aliaset for å gå tilbake til forrige versjon.
Logger
Du kan også aktivere logger for din Amazon Lex-bot. For å gjøre det, må du oppdatere robotens rolle for å gi tillatelser til å skrive Amazon CloudWatch tømmerstokker. Følgende er et eksempel på å legge til en CloudWatch-policy til rollen:
For å sikre konsistent og forutsigbar oppførsel, bør du være så spesifikk som mulig når du definerer ressursnavn og egenskaper i CloudFormation-maler. Dette er fordi bruken av jokertegnet (*) i CloudFormation-maler kan utgjøre potensielle sikkerhetsrisikoer og føre til utilsiktede konsekvenser. Derfor anbefales det å unngå å bruke jokertegn og i stedet bruke eksplisitte verdier der det er mulig.
Deretter oppretter du en CloudWatch-logggrupperessurs, som vist i følgende kode, for å sende loggene dine til denne gruppen:
Til slutt oppdaterer du aliaset ditt for å aktivere innstillinger for samtalelogg:
Når du oppdaterer stabelen med denne malen, aktiverer du samtaleloggene for boten din. En ny versjon opprettes ikke i dette trinnet fordi det ikke er noen endringer i botressursen din. Du kan last ned den nyeste versjonen av malen.
Rydd opp
For å forhindre at det påløper kostnader i fremtiden, slett CloudFormation-stakken du opprettet.
konklusjonen
I dette innlegget diskuterte vi trinn-for-trinn-prosessen for å lage en CloudFormation-mal for en Amazon Lex V2-bot. Til å begynne med distribuerte vi en grunnleggende bot, deretter utforsket vi potensialet til aliaser og versjoner og hvordan man bruker dem effektivt med maler. Deretter lærte vi hvordan vi integrerer en Lambda-funksjon med en Amazon Lex V2-bot og implementerte betinget forgrening i botens samtaleflyt for å imøtekomme forretningskrav. Til slutt la vi til loggingsfunksjoner ved å opprette en CloudWatch-logggrupperessurs og oppdatere robotens rolle med de nødvendige tillatelsene.
Malen gir mulighet for enkel distribusjon og administrasjon av boten, med muligheten til å tilbakestille endringer etter behov. Totalt sett er CloudFormation-malen nyttig for å administrere og optimalisere en Amazon Lex V2-bot.
Som neste trinn kan du utforske eksempel Amazon Lex-roboter og bruk teknikkene som er omtalt i dette innlegget for å konvertere dem til CloudFormation-maler. Denne praktiske praksisen vil styrke din forståelse av å administrere Amazon Lex V2-roboter gjennom infrastruktur som kode.
Om forfatterne
Thomas Rindfuss er senior løsningsarkitekt på Amazon Lex-teamet. Han finner opp, utvikler, prototyper og evangeliserer nye tekniske funksjoner og løsninger for Language AI-tjenester som forbedrer kundeopplevelsen og letter adopsjonen.
Rijeesh Akkambeth Chathoth er en profesjonell tjenestekonsulent hos AWS. Han hjelper kundene med å oppnå ønsket virksomhet
resultater i kontaktsenteret ved å utnytte funksjonene Amazon Connect, Amazon Lex og GenAI.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/manage-your-amazon-lex-bot-via-aws-cloudformation-templates/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 1
- 10
- 100
- 11
- 13
- 14
- 15%
- 300
- 40
- 7
- 8
- 9
- a
- evne
- adgang
- imøtekomme
- Oppnå
- oppnå
- tvers
- Handling
- Handling
- legge til
- la til
- legge
- I tillegg
- Adopsjon
- avansert
- rådes
- Etter
- AI
- AI-tjenester
- Alle
- tillate
- tillatt
- tillater
- langs
- også
- Selv
- Amazon
- Amazon Lex
- Amazon Web Services
- an
- og
- noen
- APIer
- Søknad
- søknader
- Påfør
- tilnærming
- hensiktsmessig
- ER
- aren
- kunstig
- kunstig intelligens
- Kunstig intelligens (AI)
- AS
- assistenter
- assosiert
- At
- forsøk
- automatisere
- Automatisert
- automatisk
- unngå
- AWS
- AWS skyformasjon
- AWS Lambda
- tilbake
- basert
- grunnleggende
- BE
- fordi
- blir
- vært
- før du
- begynne
- vegne
- atferd
- under
- Fordeler
- beta
- bok
- bestilling
- bestillinger
- Bot
- både
- roboter
- Branch
- grener
- bygge
- Bygning
- virksomhet
- by
- som heter
- ringer
- CAN
- kan ikke
- saken
- sentrum
- utfordrende
- endring
- endret
- Endringer
- karakter
- avgifter
- chatbots
- sjekk
- Barn
- valgt ut
- City
- kunde
- klienter
- Lukke
- kode
- COM
- fullføre
- kompleksitet
- komplisert
- komponenter
- fatte
- bekymret
- tilstand
- Konfigurasjon
- Bekrefte
- BEKREFTET
- Koble
- Konsekvenser
- Vurder
- konsistent
- Konsoll
- konstruere
- konsulent
- kontakt
- kontakt senter
- innhold
- kontekst
- kontroll
- Samtale
- conversational
- konvertere
- Tilsvarende
- skape
- opprettet
- Opprette
- skikk
- kunde
- kundeopplevelse
- Kunder
- dato
- personvern
- databaser
- Dato
- dag
- dyp
- dyp læring
- Misligholde
- definere
- definere
- definisjon
- demo
- demonstrert
- avhenger
- utplassere
- utplassert
- utplasserings
- distribusjon
- distribusjoner
- beskrivelse
- utforming
- ønsket
- destinasjonen
- detaljer
- utviklere
- Utvikling
- utvikler
- forskjellig
- direkte
- regissert
- skjelne
- diskutert
- do
- gjort
- ned
- Utkast
- hver enkelt
- letter
- effekt
- effektiv
- effektivt
- innsats
- embed
- anvender
- muliggjøre
- aktivert
- muliggjør
- slutt
- sikre
- miljøer
- feil
- etablere
- Event
- eksempel
- eksempler
- Øvelse
- erfaring
- utforske
- utforsket
- falsk
- langt
- Trekk
- Egenskaper
- felt
- slutt~~POS=TRUNC
- fullføre
- Endelig
- Først
- fem
- flyten
- etter
- Til
- skjema
- fra
- oppfyllelse
- fullt
- funksjon
- funksjonelle
- funksjonalitet
- funksjoner
- videre
- framtid
- genai
- generelt
- få
- gå
- Go
- innvilge
- Gruppe
- Vokser
- veilede
- hands-on
- Ha
- he
- hjelper
- her.
- hotell
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- menneskelig
- i
- Identitet
- if
- illustrere
- gjennomføring
- implementert
- importere
- forbedrer
- in
- inkludere
- inkluderer
- Inkludert
- Incorporated
- innlemme
- indeks
- informasjon
- Infrastruktur
- innledende
- i utgangspunktet
- initiere
- inngang
- i stedet
- integrere
- integrert
- Integrering
- Intelligens
- hensikt
- samhandle
- grensesnitt
- inn
- oppfinner
- involvert
- innebærer
- IT
- DET ER
- JSON
- konge
- kunnskap
- Språk
- stor
- siste
- føre
- lært
- læring
- mindre
- utnytte
- i likhet med
- LINK
- knyttet
- lokale
- ligger
- plassering
- logg
- logging
- logikk
- laget
- vedlikeholde
- Flertall
- gjøre
- Making
- administrer
- fikk til
- ledelse
- administrerende
- mange
- fyrstikker
- matthew
- ment
- Flett
- melding
- meldinger
- tankene
- modell
- modeller
- modifisert
- modifisere
- mer
- flere
- må
- navn
- oppkalt
- navn
- Naturlig
- nødvendig
- Trenger
- nødvendig
- Ny
- neste
- neste uke
- natt
- Nei.
- noder
- none
- note
- nå
- Antall
- nummerert
- of
- tilbudt
- Okay
- on
- ONE
- på nett
- personvern på nettet
- bare
- optimalisere
- or
- OS
- Annen
- vår
- samlet
- del
- deler
- banen
- for
- tillatelse
- tillatelser
- fase
- planer
- plato
- Platon Data Intelligence
- PlatonData
- Point
- Politikk
- politikk
- positur
- mulig
- Post
- potensiell
- Praktisk
- praksis
- Forutsigbar
- forutsetninger
- forebygge
- forrige
- tidligere
- primært
- Principal
- prioriteringer
- prioritet
- privatliv
- prosess
- Produksjon
- profesjonell
- program
- Progress
- egenskaper
- beskyttelse
- prototyper
- gi
- forutsatt
- gir
- publisere
- Publisering
- heve
- klar
- motta
- anbefales
- referere
- i slekt
- fjerne
- fjerne
- representert
- påkrevd
- behov
- Krav
- Krever
- Booking
- ressurs
- Ressurser
- svar
- resultere
- retur
- gjenbruk
- tilbake
- ikke sant
- Risiko
- risikoer
- Rolle
- Rull
- rom
- Rom
- runtime
- s
- sake
- samme
- sample
- Spar
- sier
- scenario
- scenarier
- skraper
- Seattle
- Sekund
- Seksjon
- sikkerhet
- sikkerhetsrisiko
- se
- server~~POS=TRUNC
- tjeneste
- Tjenester
- sett
- innstillinger
- oppsett
- bør
- vist
- på samme måte
- slot
- spilleautomater
- Snapshot
- So
- så langt
- utelukkende
- Solutions
- noe
- snart
- kilde
- Rom
- spesifikk
- spesifiserer
- stable
- iscenesettelse
- startet
- Start
- Tilstand
- Uttalelse
- opphold
- blir
- Trinn
- Steps
- rett fram
- strømlinjeformet
- String
- emne
- slik
- støtte
- Støttes
- Støtter
- Systemer
- TAG
- målrettet
- lag
- Teknisk
- teknikker
- Technologies
- mal
- maler
- midlertidig
- test
- Testing
- enn
- Det
- De
- Fremtiden
- Kilden
- deres
- Dem
- deretter
- Der.
- derfor
- Disse
- Tredje
- denne
- De
- Gjennom
- tid
- til
- temaer
- Transform
- sant
- to
- typen
- typer
- typisk
- etter
- forstå
- forståelse
- til
- Oppdater
- oppdatert
- oppdateringer
- oppdatering
- us
- bruke
- brukt
- nyttig
- Bruker
- Brukere
- ved hjelp av
- VALIDERE
- verdi
- Verdier
- versjon
- versjoner
- av
- virtuelle
- ønsker
- Vei..
- we
- web
- webtjenester
- Nettsted
- uke
- VI VIL
- Hva
- når
- hvor enn
- om
- hvilken
- hele
- vil
- med
- innenfor
- uten
- Arbeid
- arbeidsflyt
- ville
- skriving
- yaml
- Du
- Din
- zephyrnet