Virtual assistants are becoming the new norm when it comes to daily life, with Amazon’s Alexa being the leader in the space. As a developer, not only do you need to make web and mobile compliant applications, but you need to be able to support virtual assistants like Alexa. However, the process isn’t quite the same between the platforms.
How do you handle requests? Where do you store your data and work with it to create meaningful responses with little delay? How much of your code needs to change between platforms?
In this session we’ll see how to design and develop applications known as Skills for Amazon Alexa powered devices using the Go programming language and MongoDB.
9. #MDBLocal
Alexa, ask Nest to set the thermostat to 75 degrees
Alexa, ask Uber to request a ride
Alexa, ask WebMD for the side effects of Tylenol
Using Alexa Skills
10. #MDBLocal
Alexa performs a speech to text analysis
Alexa recognizes the invocation word
○ Ex: Uber, Nest, WebMD, etc.
Alexa associates the spoken command to an Intent
The Intent information with optional parameters are sent to the API
Alexa in Action
11. FaaS with AWS Lambda
Functions as a Service with Go on AWS Lambda
23. #MDBLocal
Not the same as the Skill name.
Used to initiate Skill on an Alexa powered device.
○ Alexa, ask INVOCATION_NAME…
Should be real words that can be easily pronounced.
Should be unique to prevent Skill overlap.
Alexa Invocation Name
24. #MDBLocal
An Alexa Skill has numerous Intents.
Intents are individual Skill commands or actions.
○ Ex: Get the current temperature.
○ Ex: Get the weekly forecast.
Utterances are phrases to activate an Intent.
The more utterances for an Intent, the less likely to be misunderstood.
Alexa has reserved Intents for specific functionality.
○ Ex: Asking for help using the Skill
Alexa Intents and Sample Utterances
51. #MDBLocal
Including MongoDB is simple with the Go driver.
Amazon Web Services (AWS) is not a requirement, it is a convenience.
Invocation names should be real words that are pronounceable with most accents.
Sample utterances should exist for all possible requests.
Functions should finish executing quickly.
Summary