NAV Navbar

Create and deploy applications

Once you are satisfied with your Mix resources, you deploy them so that you can use them in your client application.

This section first introduces terms that help to understand application configuration and the deployment workflow.

Terminology

Application

A Mix application defines a set of credentials that you use to access Mix.asr, Mix.nlu, and Mix.dialog resources. A Mix application can be deployed to multiple runtime environments (for example, sandbox, QA, production, etc.).

By default, each user has a personal namespace (identified with the email address), which includes an application. This application, called the Mix Sample App, is specific to the user and is used for development. The Mix Sample App can only be deployed to the default sandbox environment.

Note: Currently, only the sandbox environment is supported. In future releases, multiple environments will be supported.

App ID

An app ID uniquely identifies a Mix application. It is used to reference the resources created and managed in Mix.

An app ID looks something like this: NMDPTRIAL_alex_smith_nuance_com_20190919T190532.

Resources

The Mix resources available in a Mix application are:

Application configuration

An application configuration associates an App ID with the Mix.asr, Mix.nlu, and Mix.dialog resources deployed in a runtime environment.

An application configuration is created by specifying:

You use the application configuration at runtime by providing the app ID and context tag to load resources. The context tag is scoped by service through a URN. The URN lets you specify which resource (Mix.asr, Mix.nlu, or Mix.dialog) to load in a specific application configuration.

URN of application configuration

Uniform Resource Names (URN) are used in Mix to load a specific Mix resource, described in the application configuration. A URN helps the service determine how to parse the resources in a context tag. For example:

urn:nuance-mix:tag:model/coffee_app/mix.asr?=language=eng-USA

See URN for details.

Client ID

Nuance Mix uses the OAuth 2.0 protocol for authentication. All client applications must provide an access token to be able to access the ASR, NLU, Dialog, and TTS runtime services. To obtain an access token, a client ID and a client secret must be provided.

You can create multiple client IDs per App ID.

The default client ID is the App ID prefixed with the string appID. For example: appID:NMDPTRIAL_alex_smith_nuance_com_20190919T190532.

Additional client IDs have the following syntax:

appID:appID:geo:region:clientName:clientName

For example:

appID:NMDPTRIAL_alex_smith_nuance_com_20190919T190532:geo:qa:clientName:ScriptUser

Client secret

The client secret is generated through Mix.dashboard and used to obtain an access token. See Authentication for more information.

Deployment workflow

To see the applications that are available to you:

  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.

What you see depends on your customer status:

Note: Currently, only the sandbox environment is supported. In future releases, multiple environments will be supported.

To deploy resources and use them in an application:

  1. Create an application configuration. The application configuration defines the resource version(s) that you want to use in your application.
    During this step, you assign a context tag to this application configuration; the context tag uniquely identifies your configuration. You will need this to access the Mix resources in your application.
  2. Deploy your application configuration to an environment that is accessible by your application. Deployment is done through a deployment flow.
  3. Obtain authentication to access the Mix runtime services from your client application.

What is a deployment flow?

The deployment flow defines the deployment environments that are available to you. This can be the Mix Sandbox or an environment in your company's deployment flow.

For example, consider the following basic deployment flow with three environments: Sandbox, QA, and Prod.

When you deploy a configuration to a new environment, all the required configuration data gets copied to that environment, where you can access and test it. For example, in the diagram above, the application configuration was successfully deployed to the Sandbox environment (as shown by the green status bar and checkmark), so you can access it from your application. When you are ready, you can promote it to the next environment in your flow, in this case the QA environment.

You move your configuration sequentially through the deployment flow; you must go through each environment in your flow.

An environment can include more than one region. As shown in the diagram above, the Prod environment is available in two regions: Eastern_US and Western_US.

Depending on your configuration, some steps may require an approval from your Nuance representative.

Mix Sandbox default deployment flow

If you do not have a commercial agreement with Nuance, you deploy your Mix Sample App in the Mix Sandbox default deployment flow. This flow has a single deployment environment—the Mix Sandbox environment.

There are no approvals required in this flow.

Set up a new configuration

When you create an application configuration, you provide the following information:

Field Description
Context Tag This is the information that your application will need to access your resources at runtime. A context tag is generated automatically for you. You can edit it by clicking the pencil icon. Note: Context tags cannot include spaces; you can use letters (a-z, A-Z), digits (0-9), and the underscore character (_).
Which project? Select the project that contains your resources.
NLU and ASR Select the version of your NLU model to use in this configuration. The corresponding ASR build will be selected automatically. If your project includes multiple languages, select the version of the NLU model to use for each language.
Dialog Select the version of your Dialog application to use in this configuration.
Configure data host aliases If the dialog project exchanges data with an external system using a server-side integration, you can overwrite the base URL for this environment. Click the Edit icon Edit icon for the alias you want to modify and enter the new base URL. This value will take precedence over any other value. See Order of precedence for URL values for details.
Where do you want to deploy? Select the deployment flow that you want to use for your application. If a single deployment flow is available (for example, the Mix Sandbox default deployment flow), it is selected by default.
  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.
    By default, the first application in the list is expanded. To see another application, select it.
  3. Click Add Configuration.
  4. In Create a Configuration, enter the fields as specified in the table above.
  5. Click Setup Configuration.

The configuration is created.

Deploy an application configuration

After you have created an application configuration, you deploy it to an environment in your deployment flow.

The actual environments available depend on your configuration. This procedure uses the sample Sandbox-QA-Prod deployment above as an example.

To deploy an application configuration:

  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.
    By default, the first application in the list is expanded. To see another application, select it.
  3. On the left panel, select the context tag for the configuration that you want to deploy.
    Its deployment flow is displayed.
  4. Select the environment and region(s) where to deploy the configuration and click Deploy.
  5. If the configuration was deployed successfully, the region is displayed in green. For example:
    Successful deployment

Note: You can only deploy to the next environment in your deployment flow.

Delete a deployment

To delete an application configuration that was deployed in an environment:

  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.
    By default, the first application in the list is expanded. To see another application, select it.
  3. In the left-hand pane, select the context tag for the configuration that you want to delete.
    Its deployment flow is displayed.
  4. Click the Delete icon for the region where the configuration was deployed. For example:
    Delete deployed configuration
  5. Click Delete to confirm the action.

Overriding an application configuration

As your application evolves, so will your resources. For example, you may want to update your NLU model to fix issues or integrate new annotations from utterances collected in the field.

To update the resources for an application, you override its application configuration by updating the resource versions used by your application configuration and deploying it in your deployment flow.

For example, consider the following scenario. Your application configuration, which uses v3 of your Mix.nlu model, is currently deployed in production. Based on your customers' responses to the application, you update your Mix.nlu model, which is now at v4.

The following diagram shows the deployment flow of your v3 application configuration:

When you override an application configuration and deploy it to an environment, the previous deployment is removed. For example, let's say you override your application configuration with v4 of the Mix.nlu model and then deploy it to Sandbox. When your v4 configuration is successfully deployed to Sandbox, the v3 configuration will be deleted from that environment, as shown in the following diagram:

Note that the v3 version will continue to be active in the other environments of your deployment flow, until you successfully promote your new version to that environment.

Override an application configuration: Procedure

  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.
    By default, the first application in the list is expanded. To see another application, select it.
  3. In the left-hand pane, select the context tag for the configuration that you want to override.
    Its deployment flow is displayed.
  4. Click Override.
  5. Enter the required information and click Setup Configuration.

A new deployment flow for the updated configuration is now displayed.

Delete an application configuration

To delete an application configuration, you must first delete all the deployments for this application configuration.

  1. In Mix.dashboard, click the Manage tab.
  2. In the left-hand pane, expand the Applications section.
    By default, the first application in the list is expanded. To see another application, select it.
  3. In the left-hand pane, select the context tag for the configuration that you want to delete.
    Its deployment flow is displayed.
  4. If this configuration was deployed:
    1. Click the Delete icon for the region where the configuration was deployed. For example:
      Delete deployed configuration
    2. Click Delete to confirm the action.
    3. Repeat this step for all the current deployments for this application configuration.
  5. Delete the application configuration:
    1. Click the Delete icon for the application configuration. For example:
      Delete application configuration
    2. Click Delete to confirm the action.
    3. Repeat this step for all the application configuration overrides.