Code Monkey home page Code Monkey logo

aind-vui-alexa's Introduction

Project: Build an Alexa History Skill

It's time to create your own Alexa Skill!. In this project, you’ll build a fully functional skill for Amazon’s Alexa that provides year-dated facts from AI History (or some other History of your choosing). Through the process, you’ll get to use the Alexa Skills Kit (ASK) - a current state of the art API for building voice systems.
Alexa skill process overview

Getting Started

Set up your Amazon accounts

We highly recommend you complete the Space Geek lab in the classroom, which steps you through setting up your Amazon Developer and Amazon AWS accounts as well as building the project this one is based on. If you’ve already done that, your accounts are ready to go. find more detail on this in the classroom or see Amazon's sample fact skill repo

Starter Code

Install your starter code locally.

  • Download or clone the starter code from GitHub
  • Save it in a directory named AIND-VUI-Alexa. It contains the following directories and files:
    • speechAssets/IntentSchema.json - intents definition for the interactive model
    • speechAssets/SampleUtterances_en_US.txt - utterances for the interactive model
    • src/index.js - skill logic and handlers to be run in AWS Lamda
    • src/facts.js - a list of facts that the skill will use in responses
    • tests/*.js - various unit tests to be run locally with mocha; you do not need to change these

Environment

1. Install Node.js per instructions on the website for your machine.
2. Install dependencies for the project
  • Navigate to the AIND-VUI-Alexa/src directory of the starter code and open a terminal window.
  • The dependencies we need are listed in the package.json file and include the alexa-sdk library for Alexa as well as mocha test framework for Node.js along with chai and aws-lambda-mock-context for local unit testing. Install them all with the following command:
$ npm install
  • There should now be a directory named node_modules within the src directory. This is how Node.js attaches libraries for your code.
3. Unit testing
  • You can now run the provided unit tests from the command line within the src directory with the following command. Try it now:
$ npm test

The test code is in four parts: "Part 1", "Part 2", "Part 3", and "Starter Code". The starter code tests should pass and all others should fail. You may have to scroll up to see the passing tests. As you complete the tasks ahead, you can use these unit tests (and write more yourself) to quickly test code changes prior to deployment to AWS Lambda.

4. JavaScript coding
5. Run the Starter Code on AWS Lambda
  • Deploy the starter code to verify that it works with your accounts in its simple form. This is the same process you went through with the Space Geek Lab. If you need a refresher, step-by-step instructions are provided in the classroom.

Evaluation

The starter code provides a simple fact skill similar to Space Geek, except a few AI history facts have been provided in an external file, facts.js, instead of the space facts. Each fact includes a 4-digit year in its text, which we will use in the project for a new feature.

The project consists of three parts:

  1. Customize the fact skill
  2. Add a feature using an additional intent and a slot
  3. Add conversational elements

Follow the instructions for each part as described in the classroom under "Tasks" for the project. Once all the unit tests pass, follow the submission instructions to submit your project for review!

aind-vui-alexa's People

Contributors

cgearhart avatar danainschool avatar mhurley avatar sudkul avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.