Jovo Model

Tool published by Jovo | 10,349 downloads

A language model abstraction layer that works across NLU providers.

Jovo Model: Alexa

Learn how to turn the Jovo Model into an Alexa Interaction Model.

Introduction

Language models for Amazon Alexa Skills are called Alexa Interaction Models. You can either manage them via API (what the Jovo CLI is doing during deployment) or in the Amazon Developer Portal, which offers a graphical user interface.

Alexa Interaction Models include:

  • Invocation name
  • Intents with samples (phrases in the Jovo Model) and slots (inputs)
  • Slot types (input types)

Learn more about the structure in the official Alexa documentation. The Jovo Model can be translated into this structure by using the jovo build command (see below) or the npm package (see below).

Alexa-specific Elements in the Jovo Model

This section provides an overview how the Jovo Model (see general structure in the main Jovo Model docs) can be extended with platform-specific content for Alexa.

Invocation

You can define an Alexa-specific invocation name like this:

Built-in Slot Types

Find all built-in slot types in the official Alexa Slot Type Reference.

If your intent uses an input (see how they are added to the Jovo Model) that requires an Alexa built-in slot type, you can add it like this:

Alexa-only Elements

Some elements (intents, slot types) might be required only by the Alexa portion of your Jovo project. For this you can add an alexa object to your Jovo Model.

This object follows the structure of the Alexa Interaction Model JSON, notice the difference of samples instead of phrases, for example.

Using the Alexa Jovo Model with the Jovo CLI

By using the jovo build command, you can turn your Jovo Model files in the models folder in your Jovo project into Alexa specific files. You can find the files inside the platforms/alexaSkill folder that is created by the Jovo CLI. It contains all the information of your Alexa Skill needed to deploy the skill to the Amazon Developer Portal.

ASK CLI

The Jovo CLI uses the ASK CLI for deployment and supports both ASK CLI v2 and v1, each requiring a slightly different project structure. We recommend to upgrade your ASK CLI and migrate to the new ASK structure. Read more about the migration here.

The jovo deploy command then uses these files and uploads them to the Alexa platform where you can see changes in the Alexa Developer Console.

Platforms Folder

Learn more about the contents of the platforms/alexaSkill folder.

interactionModels

This is where your generated Alexa Interaction Models live.

Additionally, there are also some other files and folders that are important for your Alexa project.

.ask

The .ask folder contains the basic deploy settings of your skill, such as your project's skillId, inside a single file, ask-states.json for v2 of the ASK CLI, config for v1. We recommend you to not make any changes to these files.

ask-cli@v2:

ask-cli@v1:

skill.json

skill.json contains the publication and configuration information of your Skill. This can be either updated manually or in the Amazon Developer Portal (and then imported with the jovo get command). If you have v2 of the ASK CLI installed, the file's location is alexaSkill/skill-package/, else it's located inside alexaSkill/.

ask-resources.json

V2 of the ASK CLI requires an additional file, ask-resources.json. This file contains your project's configuration for use with the Skill Management API.

Using the Alexa Jovo Model npm Package

Install the package like this:

You can learn more about all the Jovo Model features here: Using the Jovo Model npm Packages.

Join Our Newsletter

Be the first to get our free tutorials, courses, and other resources for voice app developers.