Jovo Model

Tool published by Jovo | 31,328 downloads

A language model abstraction layer that works across NLU providers.

Jovo Model: Dialogflow

Learn how to turn the Jovo Model into a Dialogflow agent.

Introduction

Language models for Dialogflow are called Dialogflow agents. You can either manage them via API (what the Jovo CLI is doing during deployment) or in the Dialogflow console, which offers a graphical user interface.

Dialogflow agents include:

  • Intents with training phrases (phrases in the Jovo Model) and entities (inputs)
  • Entity types (input types)
  • And more, like events, actions, fulfillment

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

Dialogflow-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 Dialogflow.

Intents

You can add options to Jovo intents like this:

In the above example, you can see that you can add specific elements like a priority to an intent.

The priority can have the following value :

Definition Value Color
Highest 1000000 Red
High 750000 Orange
Normal 500000 Blue
Low 250000 Green
Ignore 0 Grey

Inputs and Input Types

You also can manage your input as a list by specifying the parameter isList:

You can add a specific parameter automatedExpansion to allow automated expansion like this:

System Entities

Find all types in the official Dialogflow system entities documentation.

If your intent uses an input (see how they are added to the Jovo Model) that requires a Dialogflow system entity type, you can add it like this:

Dialogflow-only Elements

Some elements (intents, entities) might be required only by the Dialogflow portion of your Jovo project. For this you can add a dialogflow object to your Jovo Model.

The dialogflow object contains the agent data in its original syntax. For example, you export your Dialoglow Agent, look at the files, and copy-paste the stuff that you need into this part of the Jovo Language Model file.

Using the Dialogflow 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 Dialogflow specific files.

Make sure that you have dialogflow selected as nlu in your project.js file:

In the current version of the Jovo CLI, you can find the files inside the platforms/googleAction/dialogflow folder.

Google Action Folder in a Jovo Project

The jovo deploy command will create a zip which you can then import into Dialogflow.

It will be stored inside the googleAction folder:

Dialogflow Agent Export

The dialogflow folder contains the following folders:

Dialogflow Folder Structure

Platforms Folder

Intents

All the intents are saved in separate files and look like this:

It is important that "webhookUsed" is set to true for your Jovo code to be triggered when this intent is called.

The user phrases are added to a different file for each language, e.g. MyNameIsIntent_usersays_en-us.json, and look like this:

Entities

If you have defined input types, you will find the entities in separate folders as well.

package.json

This includes some agent specific information. We recommend to not change this file unless you know what you're doing.

Using the Dialogflow 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.