Create Alexa Custom Skill
Today Let’s give a shot on SKILLL!!! What is skill? Is it worth reading about skill? Do I need to spend my time on this? Read on to find out !!!!!!
Without skill, there is no voice assistant app. Each invocation is a skill.
In the shorter-term, skill is the name given to your backend logic/idea. More broadly, it is the term that refers to the intelligence of Alexa or the voice-driven Alexa capabilities. For example,
Smart Home
Print Connections
Weather report
Play music
Nutrition tips
Latest news
In continuation of the previous blog, let’s create a smarter skill for the Restaurant in the amazon developer console. Check out this post to create the intelligence for your skill.
https://keerthana-murale.medium.com/alexa-skill-with-azure-function-f82ab16ee26b
Skills
Many Built-in skills are available in Alexa. Alexa is a wake-up word to start the skill. Create an Amazon Developer Account or you can also sign-in with the amazon shopping app credentials.
https://developer.amazon.com/ .
Once you sign in , Go to Developer Console, Pick Alexa Skills Kit. It lands you to the Skill tab
Create Skill
Click on create a skill named ‘Alex Restaurant’
Choose a custom model to create intents and utterances.
Choose the Provision your own method to host our backend resource.
Click create skill on the right top of the page.
Choose a start from scratch template for our skill. It will take a couple of seconds to create.
When a full build is successful, it redirects to the main page. The chosen language defaults to the dropdown box. We can add as many languages as needed with different or same invocation name by selecting the language setting option on the language dropdown.
Build — Default Landing page. To configure your skill.
Code — To write our backend code. It is available only for the Alexa hosted backend resource (Alexa’s python or node js).
Test — Where we test our skill in a development environment.
Distribution — Submit the details to make use of your skill by customers
Certification — This is to validate our skill abilities. Value of voice, user experience.
Analytics — To see the reports, a summary on the number of customers, intents, and utterances for our skill. It also has performance metrics with endpoint responses.
Setting up the skill
On the Build tab, select the Invocation to change the name. It is the keyword to invoke the application. It should be in lower case. Minimum two words are needed.
Now the users can invoke your skill by calling Alexa, open Alex Restaurant. “ask”, “begin”, “launch”, “load”, “open”, “play”, “resume”, “run”, “start”, “talk to”, or “tell” are all keywords which have been automatically added by Alexa as launch word to call your skill
Build Intent
Navigate to the intent menu. By default, The intent menu has built-in intents for your skills. To create a new one, click Add Intent.
Create a custom intent as menuitemdescription
Build Utterance
After the intent has been created, add some utterance which are all the words you suspect that the user can ask to know about your dish description. Use the Plus icon to add multiple utterances.. Then click Save and build the model.
Add Slots
The customer wants to know about your restaurant dishes. So the variation here is the dish item.
Tell me the description for the menu Kulcha Tub
Tell me the description for the menu Peas Pulao
Select the replace word on the added utterance and click Add at the box bottom.
It was added to the Intent slot space on the same page. Map the Slot type to the Amazon.Food
Modify the ITEM word in the added utterance with the curly braces. Don’t forget to Save and build the model
Brief the food {item}
Share {item} description
Power of JSON Editor
Instead of doing all the above, build the slot, intent, and utterance in the JSON editor. In the end, the above steps will generate the JSON file pictured below.
`{
“interactionModel”: {
“languageModel”: {
“invocationName”: “alex restaurant”,
“modelConfiguration”: {
“fallbackIntentSensitivity”: {
“level”: “LOW”
}
},
“intents”: [
{
“name”: “AMAZON.CancelIntent”,
“samples”: []
},
{
“name”: “AMAZON.HelpIntent”,
“samples”: []
},
{
“name”: “AMAZON.StopIntent”,
“samples”: []
},
{
“name”: “AMAZON.NavigateHomeIntent”,
“samples”: []
},
{
“name”: “AMAZON.FallbackIntent”,
“samples”: []
},
{
“name”: “menuitemdescription”,
“slots”: [
{
“name”: “item”,
“type”: “AMAZON.Food”
}],
“samples”: [
“Share item description”,
“Brief the food item”,
“Tell me the description for the menu {item}”
]}],
“types”: []
}}}
Expand the Interaction model from the left sidebar menu, choose JSON editor to view the generated file.
Integrate with Function App
- On the Build tab of your alexRestaurant, click the Endpoint option from the left corner.
- Select the HTTPS option and enter the function URL with an route endpoint in the Default Region block.
- Pick the SSL certificate type as my dev endpoint with the subdomain (2nd option.)
- Save Endpoints and Build the Model.
Test
Time to test!!! Navigate to the Test tab in the Amazon console. In the skill-testing enabled dropdown, select the Development option.
Simple!!!Happy reading!!!