Conversational AI kan leverera kraftfulla, automatiserade, interaktiva upplevelser genom röst och text. Amazon Lex är en tjänst som kombinerar automatisk taligenkänning och naturlig språkförståelse, så att du kan bygga dessa sofistikerade samtalsupplevelser. En vanlig tillämpning av konversations-AI finns i kontaktcenter: virtuella agenter med självbetjäning. Vi är glada att kunna meddela att du nu kan använda Amazon Chime SDK Public Switched Telephone Network (PSTN)-ljud för att möjliggöra självbetjäningsapplikationer för samtal för att minska samtalsupplösningstider och automatisera informationssvar.
Amazon Chime SDK är en uppsättning av realtidskommunikationskomponenter som utvecklare kan använda för att lägga till ljud, meddelanden, video och skärmdelning till dina webb- och mobilapplikationer. Amazon Chime SDK PSTN-ljudintegration med Amazon Lex gör det möjligt för byggare att utveckla samtalsgränssnitt för samtal till eller från det allmänna telefonnätet. Du kan nu bygga AI-drivna självbetjäningsapplikationer som till exempel konversation interaktiva röstsvarssystem (IVR), virtuella agenter och andra telefoniapplikationer som använder SIP (Session Initiation Protocol) för röstkommunikation.
Dessutom har vi lanserat flera nya funktioner. Amazon Voice Focus för PSTN ger djup inlärningsbaserad brusreducering för att minska oönskat brus vid samtal. Du kan nu också använda maskininlärning (ML)-driven text-till-tal i din applikation genom vår inbyggda integration för att Amazon Polly. Alla funktioner är nu direkt integrerade med Amazon Chime SDK PSTN-ljud.
I det här inlägget lär vi dig hur du gör bygga ett konversations-IVR-system för en fiktiv resetjänst som tar emot bokningar via telefon med Amazon Lex.
Lösningsöversikt
Amazon Chime SDK PSTN-ljud gör det enkelt för utvecklare att bygga skräddarsydda telefoniapplikationer med smidigheten och operativa enkelheten hos serverlösa AWS Lambda funktioner.
För denna lösning använder vi följande komponenter:
- Amazon Chime SDK PSTN-ljud
- AWS Lambda
- Amazon Lex
- Amazon Polly
Amazon Lex integreras naturligt med Amazon Polly för att tillhandahålla text-till-tal-funktioner. I det här inlägget aktiverar vi även Amazon Voice Focus för att minska bakgrundsljud vid telefonsamtal. I en tidigare inlägg, visade vi hur man integrerar med Amazon Lex v1 med API-gränssnittet. Det behövs inte längre. Det tunga lyftet av att arbeta med Amazon Lex och Amazon Polly är nu ersatt av några enkla funktionsanrop.
Följande diagram illustrerar högnivådesignen för Amazon Chime SDK Amazon Lex chatbot-system.
För att hjälpa dig lära dig att bygga med Amazon Chime SDK PSTN-ljudtjänsten har vi publicerat en arkiv med källkod och dokumentation förklara hur den källkoden fungerar. Källkoden är i ett workshopformat, där varje exempelprogram bygger på föregående lektion. Den sista lektionen är hur man bygger en komplett Amazon Lex-driven chatbot via telefon. Det är den lärdomen vi fokuserar på i det här inlägget.
Som en del av denna lösning skapar du följande resurser:
- SIP media applikation – Ett hanterat objekt som anger en lambdafunktion som ska anropas.
- SIP-regel – Ett hanterat objekt som anger ett telefonnummer som ska triggas på och vilket SIP-mediaprogram hanterat objekt som ska användas för att anropa en Lambda-funktion.
- Telefonnummer – Ett Amazon Chime SDK PSTN-telefonnummer tillhandahållet för att ta emot telefonsamtal.
- Lambdafunktion – En funktion skriven i Typescript som är integrerad med PSTN-ljudtjänsten. Den tar emot anrop från SIP-mediaapplikationen och skickar tillbaka åtgärder som instruerar SIP-mediaapplikationen att utföra Amazon Polly- och Amazon Lex-uppgifter.
Demokoden distribueras i två delar. Amazon Lex chatbot-exemplet är ett av en serie workshopexempel som lär ut hur man använder Amazon Chime SDK PSTN-ljud. För det här inlägget slutför du följande steg på hög nivå för att distribuera chatbot:
- Konfigurera Amazon Lex chatbot.
- Klona koden från GitHub-förvaret.
- Distribuera de gemensamma resurserna för verkstaden (inklusive ett telefonnummer).
- Installera Lambda-funktionen som kopplar Amazon Lex till telefonnumret.
Vi går igenom varje steg i detalj.
Förutsättningar
Du måste ha följande förutsättningar:
- nod V12+/npm installerad
- AWS Command Line Interface (AWS CLI) installerat
- Node Version Manager (nvm) installerad
- Nodmodulerna typscript aws-sdk (med nvm) installerade
- AWS-referenser konfigurerade för kontot och regionen som du använder för denna demo
- Behörigheter att skapa Amazon Chime SIP-mediaapplikationer och telefonnummer (se till att din tjänstekvot är inställd
us-east-1
orus-west-2
för telefonnummer, röstanslutningar, SIP-mediaapplikationer och SIP-regler har inte nåtts) - Utplaceringen måste göras i
us-east-1
orus-west-2
för att anpassa sig till PSTN-ljudresurser
För detaljerade installationsinstruktioner, inklusive ett skript som kan automatisera installationen och ett AWS Cloud Development Kit (AWS CDK)-projekt för att enkelt skapa en Amazon Elastic Compute Cloud (Amazon EC2) utvecklingsmiljö, se verkstadsinstruktioner.
Konfigurera Amazon Lex chatbot
Du kan bygga en komplett konversationsröstbot med Amazon Lex. I det här exemplet använder du Amazon Lex-konsolen för att bygga en bot. Vi hoppar över stegen där du bygger Lambda-funktionen för Amazon Lex. Fokus här är hur du ansluter Amazon Chime PSTN-ljud till Amazon Lex. För instruktioner om hur du bygger anpassade Amazon Lex-bots, se Amazon Lex: Hur det fungerar. I det här exemplet använder vi det förbyggda exemplet "bok resa".
Skapa en bot
För att skapa din chatbot, slutför följande steg:
- Logga in på Amazon Lex-konsolen i samma region som du distribuerade Amazon Chime SDK-resurserna i.
Detta måste finnas i någondera us-east-1
or us-west-2
, beroende på var du distribuerade Amazon Chime SDK-resurserna med AWS CDK.
- Välj i navigeringsfönstret Bots.
- Välja Skapa bot.
- Välja Börja med ett exempel.
- För Botnamn, ange ett namn (till exempel BookTrip).
- För Beskrivning, ange en valfri beskrivning.
- Enligt IAM-behörigheter, Välj Skapa en roll med grundläggande Amazon Lex -behörigheter.
- Enligt Barnets Online Privacy Protection Act, Välj Nej.
Det här exemplet behöver inte det skyddet, men för att skapa din egen bot bör du välja detta alternativ i enlighet med detta.
- Enligt Tidsgräns för viloläge¸ ställ in Session timeout till 1 minut.
- Du kan hoppa över Avancerade inställningar sektion.
- Välja Nästa.
- För Välj språk, välj ditt föredragna språk (för det här inlägget väljer vi engelska (USA)).
- För Röstinteraktion, välj den röst du vill använda.
- Du kan ange ett röstprov och välja Spela för att testa frasen och bekräfta att rösten är till din smak.
- Lämna övriga inställningar på sina standardinställningar.
- Välja Färdig .
- I uppfyllelse sektionen anger du följande text för Vid framgångsrik uppfyllelse:
- Enligt Avslutande svar, skriv in följande text för meddelande:
Goodbye!
- Välja Spara avsikt.
- Välja Bygga.
Byggprocessen tar ett par ögonblick att slutföra. När den är klar kan du testa boten på Amazon Lex-konsolen.
Skapa en version
Du har nu byggt boten. Därefter skapar vi en version.
- Navigera till versioner sida för din bot (under botnamnet i navigeringsrutan).
- Välja Skapa version.
- Acceptera alla standardvärden och välj Skapa.
Din nya version är nu listad på versioner sida.
Skapa ett alias
Därefter skapar vi ett alias.
- Välj i navigeringsfönstret alias.
- Välja Skapa alias.
- För Alias namn, ange ett namn (till exempel produktion).
- Enligt Associate med en version, välj version 1 på rullgardinsmenyn.
Om du hade mer än en version av boten kan du välja lämplig version här.
- Välja Skapa.
Aliaset är nu listat på alias sida.
- På alias välj det alias du just skapade.
- Enligt Resursbaserad policyväljer Redigera.
- Lägg till följande policy, som tillåter Amazon Chime SDK PSTN-ljud att anropa Amazon Lex åt dig:
I den föregående koden, ange resursen ARN (finns direkt ovanför textrutan), som är ARN för bot-aliaset. Ange även ditt kontonummer och ange den region du distribuerar till (us-east-1
or us-west-2
). Det definierar ARN för PSTN-ljudkontrollplanet på ditt konto.
- Välja Save att lagra policyn.
- Välja Kopiera bredvid resursen ARN att använda i ett senare steg.
Grattis! Du har konfigurerat en Amazon Lex-bot!
I en riktig chatbotapplikation skulle du nästan säkert implementera en Lambda-funktion för att bearbeta avsikterna. Detta demoprogram fokuserar på att förklara hur man ansluter till Amazon Chime SDK PSTN-ljud, så vi går inte in på den detaljnivån. För mer information, se Lägg till Lambda-funktionen som en kodkrok.
Klona GitHub-förvaret
Du kan få koden för hela verkstaden genom att klona förvaret:
Distribuera de gemensamma resurserna för verkstaden
Denna workshop använder AWS CDK för att automatisera distributionen av alla nödvändiga resurser (förutom Amazon Lex-boten, som du redan gjorde). För att distribuera, kör följande kod från din terminal:
AWS CDK distribuerar resurserna. Vi gör bootstrap-steget för att se till att AWS CDK är korrekt initierad i regionen du distribuerar till. Observera att dessa exempel använder AWS CDK version 2.
Förvaret har en serie lektioner som är utformade för att förklara hur man utvecklar PSTN-ljudapplikationer. Vi rekommenderar att du går igenom dessa dokument för att förstå grunderna med de första exempelprogrammen. Du kan sedan granska mappen för Lambdas exempelprogram. Slutligen följer du stegen för att konfigurera och sedan distribuera din kod. I terminalen anger du följande kommando:
Konfigurera din Lambda-funktion för att använda Amazon Lex-bot ARN
Öppna src/index.ts
källkodsfil för Lambda-funktionen och redigera variabeln botAlias
nära toppen av filen (ange det ARN du kopierade tidigare):
Du kan nu distribuera boten med garnutbyggnad och byta ut den nya Lambda-funktionen till PSTN-ljud med garnbyte. Du kan också notera välkomsttexten i startBotConversationAction
objekt:
Amazon Lex startar boten och använder Amazon Polly för att läsa den texten. Detta ger den som ringer en hälsning och talar om för dem vad de ska göra härnäst.
Hur det fungerar
Följande exempel lägger till fler åtgärder till vad vi lärde oss i Call and Bridge Call-lektion. De NEW_INBOUND_CALL
händelse anländer och behandlas på samma sätt. Vi aktiverar Amazon Voice Focus (som förbättrar förmågan hos Amazon Lex att förstå ord) och lämnar sedan omedelbart det inkommande samtalet vidare till boten med en StartBotConversation
handling. Ett exempel på den åtgärden ser ut som följande objekt:
När boten returnerar en ACTION_SUCCESSFUL
händelse, data som samlas in av Amazon Lex bot ingår i händelsen. Den insamlade informationen från boten ingår, och din Lambda-funktion kan använda den informationen om det behövs. En vanlig praxis för att bygga Amazon Lex-applikationer är dock att bearbeta data med den funktion som är associerad med Amazon Lex-boten. Exempel på händelsen och den returnerade åtgärden finns i workshopdokumentation för denna session.
Sekvensdiagram
Följande diagram visar sekvensen av samtal mellan PSTN-ljud och lambdafunktionen:
För en mer detaljerad förklaring av operationen, se verkstadsdokumentation.
Städa upp
Utför följande steg för att rensa upp resurserna som används i den här demon och undvika ytterligare avgifter:
- Ange följande kod i terminalen:
- Gå tillbaka till verkstadsmappen (
cd ../../
) och ange följande kod:
AWS CloudFormation-stacken som skapats av AWS CDK förstörs, vilket tar bort alla tilldelade resurser.
Slutsats
I det här inlägget lärde du dig hur man bygger en konversationsinteraktivt röstsvar (IVR)-system som använder Amazon Lex och Amazon Chime SDK PSTN-ljud. Du kan använda dessa tekniker för att bygga ditt eget system för att minska dina egna kundsamtalslösningstider och automatisera informationssvar på dina kunders samtal.
För mer information, se projektets GitHub-förråd och Använder Amazon Chime SDK PSTN Audio-tjänsten.
Om författaren
Greg Herlein har lett mjukvaruteam i över 25 år på stora och små företag, inklusive flera startups. Han är för närvarande huvudevangelist för Amazon Chime SDK-tjänsten där han brinner för hur man hjälper kunder att bygga avancerad kommunikationsprogramvara.
- Myntsmart. Europas bästa bitcoin- och kryptobörs.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. FRI TILLGÅNG.
- CryptoHawk. Altcoin radar. Gratis provperiod.
- Källa: https://aws.amazon.com/blogs/machine-learning/enable-conversational-chatbots-for-telephony-using-amazon-lex-and-the-amazon-chime-sdk/
- "
- 100
- 9
- Om oss
- Konto
- Handling
- åtgärder
- Dessutom
- avancerat
- medel
- AI
- Alla
- redan
- amason
- Meddela
- api
- Ansökan
- tillämpningar
- audio
- Automatiserad
- AWS
- bakgrund
- Grunderna
- gränsen
- Bot
- botar
- Box
- BRO
- SLUTRESULTAT
- Byggnad
- Ring
- Kan få
- kapacitet
- bil
- CD
- avgifter
- cloud
- koda
- Gemensam
- Trygghet i vårdförloppet
- Företag
- Compute
- tillstånd
- konfiguration
- Konsol
- innehåll
- kontroll
- kunde
- skapande
- referenser
- beställnings
- Kunder
- datum
- distribuera
- utplacera
- utplacering
- vecklas ut
- Designa
- förstördes
- detalj
- utveckla
- utvecklare
- Utveckling
- DID
- dokument
- inte
- lätt
- effekt
- Engelska
- Miljö
- händelse
- exempel
- Utom
- Erfarenheter
- Funktioner
- Förnamn
- Fokus
- följer
- efter
- format
- hittade
- fungera
- GitHub
- hjälpa
- här.
- Hur ser din drömresa ut
- How To
- HTTPS
- genomföra
- ingår
- Inklusive
- informationen
- integrera
- integrerade
- integrering
- interaktiva
- Gränssnitt
- IT
- språk
- Large
- LÄRA SIG
- lärt
- inlärning
- Led
- Nivå
- linje
- Noterade
- Maskinen
- maskininlärning
- förvaltade
- chef
- Media
- meddelandehantering
- ML
- Mobil
- Mobila applikationer
- mer
- Natural
- Navigering
- Nära
- nät
- Nya funktioner
- Brus
- antal
- nummer
- nätet
- integritet online
- Alternativet
- beställa
- Övriga
- policy
- den mäktigaste
- praktiken
- Principal
- privatpolicy
- process
- Produktion
- Program
- Program
- projektet
- skydd
- protokoll
- ge
- ger
- allmän
- realtid
- rekommenderar
- minska
- Hyra
- ersättas
- Repository
- Obligatorisk
- resurs
- Resurser
- respons
- återgår
- översyn
- regler
- Körning
- sDK
- Serier
- Server
- service
- in
- Enkelt
- Small
- So
- Mjukvara
- lösning
- sofistikerade
- källkod
- stapel
- startar
- Startups
- .
- lagra
- framgångsrik
- system
- uppgifter
- tekniker
- Tekniken
- berättar
- terminal
- testa
- Grunderna
- källan
- Genom
- topp
- färdas
- förstå
- us
- användning
- Video
- Virtuell
- Röst
- webb
- välkommen
- Vad
- ord
- arbetssätt
- fungerar
- år