Title: Launch UCS Studio — UCS Tools Documentation

URL Source: https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html

Published Time: Thu, 30 Oct 2025 07:23:03 GMT

Markdown Content:
Launch UCS Studio[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#launch-ucs-studio "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------

> NOTE: The last tools release with UCS Studio support was 2024.08.0 (August 29, 2024) of UCS Tools. At present we are investing efforts in backend redesign and new features, and are not maintaining studio further at present.

This section provides pointers and guides to get started building UCS Applications using UCS Studio. It starts with building and deploying a simple text-based chatbot application using Speech skills and Dialog manager services. Next it explains how to upgrade the same application to a speech-based chatbot. This section should give you a good overview of using UCS Studio.

1.   Run this command in a terminal:

$ ucf_studio

Note

If running remotely via SSH, make sure that the correct `DISPLAY` variable is exported before running the command.

[UCS Studio](https://docs.nvidia.com/ucf/2.10.0/text/tools_reference/UCS_Tools_Reference_Studio.html#ucf-studio) can also be run remotely using other methods - [Remote Access](https://docs.nvidia.com/ucf/2.10.0/text/tools_reference/UCS_Tools_Reference_Studio.html#remote-access).

1.   Once Studio starts, you should see the following home screen:

![Image 1: UCS Studio Home](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_studio_home.png)
Repo Setup[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#repo-setup "Link to this heading")
----------------------------------------------------------------------------------------------------------------

Let’s start with the repository setup. You need to set the NGC API Key to get access to the NGC Repositories.

1.   Get the NGC API Key - Refer to [Generating Your NGC API Key](https://docs.nvidia.com/ngc/ngc-private-registry-user-guide/index.html.md#generating-api-key).

2.   Click on **Registry** from the Menu Bar at the top and then on **Repo Setup**.

![Image 2: UCS Studio - Repo Setup Menu](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_repo_setup_menu.png)
1.   This will open the **Repo Setup** dialog popup. Enter your NGC API Key and click on **Ok**.

![Image 3: UCS Studio - Repo Setup Dialog](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_repo_setup_api_key.jpg)
It will take a few seconds for the operation to complete. If the entered API Key is valid, the list of NGC Repositories will be populated and a success message popup will be shown.

Sync Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#sync-microservices "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------

Next we will synchronize microservices from NGC repository to list available microservices and view their information.

1.   Click on **Registry** from the Menu Bar at the top and then on **Fast Repo Setup**.

![Image 4: UCS Studio - Fast Repo Sync Menu](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_fast_repo_sync_menu.png)
1.   This will open the **Repo Sync** popup dialog. Select `UCS` from the drop down list.

![Image 5: UCS Studio - Repo Sync Dialog](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_fast_repo_sync_dialog.png)
1.   Click on **Sync**. A progress dialog will pop up. The process may take up to a few seconds. Once the sync is complete, a success confirmation dialog will be displayed and the microservice list on the left will be populated.

![Image 6: UCS Studio - Microservice List](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_services_list.png)
Create a Reference Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#create-a-reference-application "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------

This section demonstrates how to create a text-based Chatbot using UCS Studio with microservices provided by NVIDIA. Some instructions on this page are specific to the applications being created. Refer to [Creating an Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_AppDevelopment.html#app-development) for more detailed information on creating applications.

Prerequisites[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#prerequisites "Link to this heading")
----------------------------------------------------------------------------------------------------------------------

Refer to [Development System](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Requirements.html#ucf-dev-system) and [Deployment System](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Prerequisites.html#ucf-deployment-system) for requirements and instructions to setup development and deployment systems.

Obtain API keys for the following services, as microservices used in this reference application depend on them:

*   **Weather (weatherstack)** - [https://weatherstack.com/product](https://weatherstack.com/product)

*   **Places Of Interest (Yelp)** - [https://www.yelp.com/fusion](https://www.yelp.com/fusion)

*   **Map (Here)** - [https://developer.here.com/pricing](https://developer.here.com/pricing)

Create New Graph[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#create-new-graph "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------

We can now start creating the application graph.

1.   Click on **Create Graph** at the center of the application.

![Image 7: UCS Studio - Create Graph](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_create_graph.jpg)
1.   This will display a pop-up dialog for Graph Name. Enter a name like `ucf-text-bot` and click on **Ok**.

![Image 8: UCS Studio - Create Graph Name](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_create_graph_name.png)
1.   Click on **Ok** to open a blank canvas on which microservices can be added.

### Search for Microservices and their Details[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#search-for-microservices-and-their-details "Link to this heading")

1.   You may browse the available microservices using the list on the left.

![Image 9: UCS Studio - Microservice List](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_ms_list.png)
1.   Microservices categorization can be changed for easier browsing.

![Image 10: UCS Studio - Microservice categorization](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_categorize_workflows.png)
1.   Microservices can be filtered and searched using text.

![Image 11: UCS Studio - Microservice Filtering](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_filter.png)
1.   Select a microservice from the list to show its details on the right panel.

![Image 12: UCS Studio - Microservice Details](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_ms_details.png)
Add Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#add-microservices "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------

1.   Add microservices to the application by selecting them from the list on the left and drag-dropping them onto the canvas.

![Image 13: UCS Studio - Adding Microservices](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_adding_ms.gif)
1.   For this reference application, the following microservices will be required:

> *   Riva Speech Skills
> 
> *   BotMaker Dialog Manager
> 
> *   BotMaker NLP Server
> 
> *   BotMaker Fulfillment Server
> 
> *   BotMaker Editor
> 
> *   BotMaker Text Web App

1.   After adding the above microservices, the graph now looks like the following:

![Image 14: UCS Studio - Adding Microservices](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_ms_add_graph.jpg)
Connect Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#connect-microservices "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------

Connect microservices by connecting their endpoints. Start dragging from the egress endpoint (ports on the right side of a microservice) to the ingress endpoint (ports on the left side of a microservice).

![Image 15: UCS Studio - Connecting Microservices](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_connecting_ms.gif)
Configure Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#configure-microservices "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------

1.   Set parameters by selecting a microservice on the canvas and setting the parameters from the “Properties” window on the right.

![Image 16: UCS Studio - Setting Microservice Parameters](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_ms_params.png)
1.   For convenience, parameters can also be loaded from a file. Save the following content to a file (e.g. _params.yaml_.)

'BotMaker Dialog Manager':
  configNgcPath: eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea
  botConfigName: bots/misty/misty_bot_config.yaml
  imagePullSecrets:
    - name: ngc-docker-reg-secret

'Riva Speech Skills':
  ucfVisibleGpus: [0]
  modelRepoGenerator:
    clearAllRMIRSAndModels: false
    #> description: Flag to clear artifacts and models before downloading and deploying
    ngcModelConfigs:
      tritonGroup0:
        models:
        #> description: List of NGC models for deployment
        - nvidia/riva/rmir_nlp_named_entity_recognition_bert_base:2.13.0
        - eevaigoeixww/conversational-ai/rmir_nlp_weather_intent_slot_bert_base:2.0.0-ea
        - eevaigoeixww/staging/asr_conformer_en_us_streaming_throughput_flashlight_vad:2.13.0-tokkio #english
        - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us:2.13.0
  persistentVolumeClaim:
    keepPVC: True
  imagePullSecrets:
    - name: ngc-docker-reg-secret

'BotMaker NLP Server':
  ucfVisibleGpus: [0]
  configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
  modelConfigPath: "bots/misty/model_config.yaml"
  imagePullSecrets:
    - name: ngc-docker-reg-secret

'BotMaker Fulfillment Server':
  configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
  fmconfigPath: "bots/misty/fulfillment_config.yaml"
  imagePullSecrets:
      - name: ngc-docker-reg-secret

'BotMaker Text Web App':
  imagePullSecrets:
    - name: ngc-docker-reg-secret

'BotMaker Editor':
  imagePullSecrets:
    - name: ngc-docker-reg-secret

'BotMaker Bot Controller':
  pipeline: speech_lite
  configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
  speechConfigPath: "bots/misty/speech_config.yaml"
  imagePullSecrets:
    - name: ngc-docker-reg-secret

1.   The API keys can be obtained from:

> *   **Weather (weatherstack)** - [https://weatherstack.com/product](https://weatherstack.com/product)
> 
> *   **Places Of Interest (Yelp)** - [https://www.yelp.com/fusion](https://www.yelp.com/fusion)
> 
> *   **Map (Here)** - [https://developer.here.com/pricing](https://developer.here.com/pricing)

1.   To load the above parameters file, use **Load Parameters** button from the actions bar.

> ![Image 17: UCS Studio - Load Parameters](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_load_params.png)

1.   This will open a file browser, navigate to the parameters file and load it.

> ![Image 18: UCS Studio - Load Parameters File](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_load_params_file.jpg)

1.   Set secrets on the microservices. First click the **Graph Configuration** button from the actions bar to open the graph configuration.

> ![Image 19: UCS Studio - Open Graph Configuration](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_open_configuration.png)

Next select the **Secrets** window, click on **Add** to add a new secret. Enter details as shown below:

> ![Image 20: UCS Studio - Add Secret](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_add_secret.png)

Now select **Riva Speech Skills** microservice on the canvas, this will show the **Secrets** section in the **Property** window on the right. For the `ngc-api-key-secret`, select `ngc-api-key-secret` from the dropdown.

> ![Image 21: UCS Studio - Set Secret](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_set_secret.png)

Do the same for the **BotMaker Dialog Manager**, **BotMaker NLP Server**, and **BotMaker Fulfillment Server**.

Save the Graph[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#save-the-graph "Link to this heading")
------------------------------------------------------------------------------------------------------------------------

1.   Click on the **Save Graph** icon from the actions bar

> ![Image 22: UCS Studio - Save Graph](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_save_graph.png)

1.   This will open a file browser. Navigate to the directory of choice and save the graph.

Build the Reference Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#build-the-reference-application "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------

1.   Click on the **Build the current Graph** icon from the actions bar.

> ![Image 23: UCS Studio - Build Graph](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_build_graph.png)

1.   This will open a file browser. Navigate to the directory of choice and click on **Okay**.

2.   Building an application may take up to a few minutes. Once it is done, a success pop-up dialog will be shown containing the path where the deployable helm chart for the application has been generated.

> ![Image 24: UCS Studio - Build Graph](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_build_graph_done.png)

1.   Refer to the [Deploy the Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#deploy-ref-apps) for instructions on deploying the helm chart.

Update the Reference Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#update-the-reference-application "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------

This section demonstrates how to create a Speech based Chatbot using UCS Studio with microservices provided by NVIDIA. These are incremental instructions on top to follow after creating the [Create a Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#text-chatbot). This demonstrates how increasingly complex functionality can be added by just changing a few things in the application using **UCS Studio**.

Some instructions on this page are specific to the applications being created, refer to [Creating an Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_AppDevelopment.html#app-development) for more detailed information on creating applications.

Open Existing Graph[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#open-existing-graph "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------

1.   If the **UCS Text Bot Application** application graph is not already open, open it by clicking on the **Open Graph** button at the center of the application or **Open Graph** button on the action bar.

> ![Image 25: UCS Studio - Open Graph](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_build_graph_open.png)

1.   This will open a file browser, navigate to the **UCS Text Bot Application** application graph and open it. This will load the application graph in the canvas. If some of the microservices are out of view, right-click on the canvas to open the context menu and click on **Focus on All** to automatically pan and zoom the canvas so that all microservices are visible.

> ![Image 26: UCS Studio - Graph Focus All](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_focus_all.jpg)

Add / Replace Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#add-replace-microservices "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------

For this application:

*   **BotMaker Text Web App** should be replaced by **BotMaker Speech Web App**

*   Additional **BotMaker Bot Controller** microservice will be required

1.   To do this select the `BotMaker Text Web App` microservice instance on the canvas and then right-click on it to open the context menu and click on **Delete Selection** to delete the microservice.

> ![Image 27: UCS Studio - Delete Microservice](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_delete_ms.jpg)

1.   Next, add the **BotMaker Speech Web App** and **BotMaker Bot Controller** microservices by searching for them in the microservice list on the left and drag-dropping them on to the canvas. This is how the graph should look now:

> ![Image 28: UCS Studio - Add Speech Microservices](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_misty_speech_add_ms.png)

Connect Microservices[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#id2 "Link to this heading")
--------------------------------------------------------------------------------------------------------------------

*   `bot-controller` egress endpoint of `BotMaker Speech Web App` needs to be connected to `grpc-api` ingress endpoint of `BotMaker Bot Controller`

*   `bot-editor` egress endpoint of `BotMaker Speech Web App` needs to be connected to `http-api` ingress endpoint of `BotMaker Editor`

*   `dialog-manager` egress endpoint of `BotMaker Bot Controller` needs to be connected to `dialog-manager` ingress endpoint of `BotMaker Dialog Manager`

*   `riva` egress endpoint of `BotMaker Bot Controller` needs to be connected to `riva-speech-api` ingress endpoint of `Riva Speech Skills`

Do this by dragging from the egress endpoints to the ingress endpoints as shown in [Connect Microservices](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#bot-app-connect-ms). The graph should now look as below:

![Image 29: UCS Studio - Connect Speech Microservices](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_misty_speech_connections.png)
Load Parameters[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#load-parameters "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------

1.   Save the following content to a file (e.g. _params.yaml_):

> 'BotMaker Dialog Manager':
>    configNgcPath: eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea
>    botConfigName: bots/misty/misty_bot_config.yaml
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret
> 
>  'Riva Speech Skills':
>    ucfVisibleGpus: [0]
>    modelRepoGenerator:
>      clearAllRMIRSAndModels: false
>      #> description: Flag to clear artifacts and models before downloading and deploying
>      ngcModelConfigs:
>        tritonGroup0:
>          models:
>          #> description: List of NGC models for deployment
>          - nvidia/riva/rmir_nlp_named_entity_recognition_bert_base:2.13.0
>          - eevaigoeixww/conversational-ai/rmir_nlp_weather_intent_slot_bert_base:2.0.0-ea
>          - eevaigoeixww/staging/asr_conformer_en_us_streaming_throughput_flashlight_vad:2.13.0-tokkio #english
>          - nvidia/riva/rmir_tts_fastpitch_hifigan_en_us:2.13.0
>    persistentVolumeClaim:
>      keepPVC: True
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret
> 
>  'BotMaker NLP Server':
>    ucfVisibleGpus: [0]
>    configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
>    modelConfigPath: "bots/misty/model_config.yaml"
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret
> 
>  'BotMaker Fulfillment Server':
>    configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
>    fmconfigPath: "bots/misty/fulfillment_config.yaml"
>    imagePullSecrets:
>        - name: ngc-docker-reg-secret
> 
>  'BotMaker Speech Web App':
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret
> 
>  'BotMaker Editor':
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret
> 
>  'BotMaker Bot Controller':
>    pipeline: speech_lite
>    configNgcPath: "eevaigoeixww/staging/botmaker-quickstart:23.10.2-ea"
>    speechConfigPath: "bots/misty/speech_config.yaml"
>    imagePullSecrets:
>      - name: ngc-docker-reg-secret

1.   Next, follow [acquire API keys and load parameters](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#ref-app-acquire-api-keys) as shown in **UCS Text Bot Application** section.

2.   Set secrets on **BotMaker Bot Controller** microservice as shown in [UCS Text Bot Application - Set Secrets](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#text-chatbot-set-secrets).

Update Application Information[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#update-application-information "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------

1.   click the **Graph Configuration** button from the actions bar to open the graph configuration.

> ![Image 30: UCS Studio - Open Graph Configuration](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_open_configuration.png)

1.   This will open the Graph Configuration section at the bottom.

> ![Image 31: UCS Studio - Graph Configuration Window](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_configuration_window.png)

1.   Change the application name to `ucf-speech-bot` and optionally update the description.

Save and Build the Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#save-and-build-the-application "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------

1.   From the the **File** menu at the top, select **Save Graph As** to the save the graph to a new file.

> ![Image 32: UCS Studio - Graph Save As](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_refapps_graph_save_as.jpg)

1.   This will open a file browser, navigate to a directory of choice and save the graph.

2.   Follow instructions in [Build the Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#build-bot-app) in the **UCS Text Bot Application** application section to build the application.

Deploy the Reference Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#deploy-the-reference-application "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------

Deploy on local MicroK8S cluster[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#deploy-on-local-microk8s-cluster "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------

1.   Create Kubernetes secret required to pull the images:

> $ microk8s kubectl create secret docker-registry ngc-docker-reg-secret --docker-server=nvcr.io --docker-username='$oauthtoken' --docker-password=<NGC_API_KEY>
> 
> 
> If another name is used for the secret instead of `ngc-docker-reg-secret`, same should be updated in the application and the app should be rebuilt.

1.   Create Kubernetes secret for the NGC API Key:

> $ microk8s kubectl create secret generic ngc-api-key-secret --from-literal=NGC_API_KEY=<NGC_API_KEY>
> 
> 
> If another secret name is used instead of `ngc-api-key-secret` or another key is used instead of `NGC_API_KEY`, same should be updated in the application and the app should be rebuilt.

1.   Install the Local Path Provisioner if not already installed:

> $ curl https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.23/deploy/local-path-storage.yaml | sed 's/^ name: local-path$/ name: mdx-local-path/g' | microk8s kubectl apply -f -

1.   Deploy the application helm chart:

> $ microk8s helm3 install <release-name> <app-output-helm-chart>

Deploy application on AWS[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#deploy-application-on-aws "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------

1.   Copy helm chart to AWS Instance:

> scp -r -i /path/to/<your_key>.pem /path/to/<app-output-helm-chart>/   ubuntu@<aws_instance_ip>:

1.   Install the Local Path Provisioner (on AWS Instance):

> $ curl https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.23/deploy/local-path-storage.yaml | sed 's/^  name: local-path$/  name: mdx-local-path/g' | kubectl apply -f -

1.   Create Kubernetes secret required to pull the images (on AWS Instance):

> $ kubectl create secret docker-registry ngc-docker-reg-secret --docker-server=nvcr.io --docker-username='$oauthtoken' --docker-password=<NGC_API_KEY>
> 
> 
> If another name is used for the secret instead of `ngc-docker-reg-secret`, same should be updated in the application and the app should be rebuilt.

1.   Create Kubernetes secret for the NGC API Key (on AWS Instance):

> $ kubectl create secret generic ngc-api-key-secret --from-literal=NGC_API_KEY=<NGC_API_KEY>

1.   If another secret name is used instead of `ngc-api-key-secret` or another key is used instead of `NGC_API_KEY`, same should be updated in the application and the app should be rebuilt.

2.   Deploy the application helm chart (on AWS Instance):

> $ helm install <release-name> <app-output-helm-chart>

Interact with the Reference Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#interact-with-the-reference-application "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

### UCS Text Bot Application[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#ucs-text-bot-application "Link to this heading")

Watch Pods:

> Wait for all the application microservice pods to go into the running state
> 
> 
> MicroK8s:
> 
> 
> 
> $ microk8s kubectl get pod
> NAME READY STATUS RESTARTS AGE
> botmaker-dialog-manager-deployment-6d9d6fd949-88f7f 1/1 Running 0 28m
> botmaker-text-web-app-deployment-8499c4b857-xjwcg 1/1 Running 0 28m
> riva-speech-skills-deployment-74cc4c9457-mfm98 1/1 Running 0 28m
> 
> 
> AWS:
> 
> 
> 
> $ kubectl get pods
> NAME READY STATUS RESTARTS AGE
> botmaker-dialog-manager-deployment-ffdd98965-49rbk 1/1 Running 0 48m
> botmaker-text-web-app-deployment-ddccf454-wsxh6 1/1 Running 0 48m
> riva-speech-skills-deployment-7856cc499f-9bnkf 1/1 Running 0 48m

Service List

> Get the list of services associated with the application
> 
> 
> MicroK8s:
> 
> 
> 
> $ microk8s kubectl get svc
> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
> botmaker-dialog-manager-deployment-svc ClusterIP 10.152.183.47 <none> 5000/TCP 32m
> botmaker-text-web-app-deployment-service NodePort 10.152.183.132 <none> 5001:31842/TCP 32m
> kubernetes ClusterIP 10.152.183.1 <none> 443/TCP 67d
> riva-speech-skills-deployment-svc ClusterIP 10.152.183.21 <none> 50051/TCP,8001/TCP 32m 29m
> 
> 
> AWS:
> 
> 
> 
> $ kubectl get svc
> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
> botmaker-dialog-manager-deployment-svc ClusterIP 10.102.53.150 <none> 5000/TCP 49m
> botmaker-text-web-app-deployment-service NodePort 10.96.23.19 <none> 5001:31666/TCP 49m
> kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 151m
> riva-speech-skills-deployment-svc ClusterIP 10.101.176.114 <none> 50051/TCP,8001/TCP 49m

**Accessing the WebApp**

> The service of interest is `botmaker-text-web-app-deployment-service`. We will need the Node Port associated with the service. This port number will change for every deployment.
> 
> MicroK8s:
> NodePort: `31842`
> 
> 
> Open `http://<MicroK8s-Host-IP>:<Botmaker-Text-Web-App-NodePort>/bot` in a browser to start interacting with the bot.
> 
> AWS:
> NodePort: `31666`
> 
> 
> We will have to open this port to the internet so that we can access it.
> 
> 
> 1.   Go to your instance’s Security tab and navigate to the security group. Edit the Inbound Rule to accept connections to the NodePort (in this case `31666`) from Anywhere-IPv4 (0.0.0.0/0).
> 
> 2.   After saving open `https://<aws_instance_ip>:<NodePort>/bot` in a browser to start interacting with the bot.

**Application WebUI**

> On opening the URL, you should be greeted with the following UI:
> 
> 
> ![Image 33: UCS Text Bot App User Interface](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_misty_ui_text.jpg)
> 
> 
> *   You can enter the question/statement in the text box and click on Submit.
> 
> *   The bot answers to questions/statements like **“Hello”**, **“How are you?”**, **“How is the weather in New York?”**

### UCS Speech Bot[#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#ucs-speech-bot "Link to this heading")

Follow the steps in [UCS Text Bot Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#interact-ucf-text-bot) to wait till all pods are running and to get the list of services.

**Accessing the WebApp**

> The service of interest is `botmaker-speech-webapp-deployment-service`. We will need the Node Port associated with the service. This port number will change for every deployment.
> 
> MicroK8s:
> NodePort: `31746`
> 
> 
> Open `https://<MicroK8s-Host-IP>:<Botmaker-Speech-WebApp-NodePort>/bot` in a browser to start interacting with the bot.
> 
> 
> AWS:
> 
> 
> > NodePort: `31666`
> > 
> > 
> > We will have to open this port to the internet so that we can access it.
> > 
> > 
> > 1.   Go to your instance’s Security tab and navigate to the security group. Edit the Inbound Rule to accept connections to the NodePort (in this case `31666`) from Anywhere-IPv4 (0.0.0.0/0).
> > 
> > 2.   After saving open `https://<aws_instance_ip>:<NodePort>/bot` in a browser to start interacting with the bot.

**Application WebUI**

> On opening the URL, you should be greeted with the following UI:
> 
> 
> ![Image 34: UCS Speech Bot App User Interface](https://docs.nvidia.com/ucf/2.10.0/_images/ucf_misty_ui.jpg)
> 
> 
> *   After giving permissions to your microphone, you should be able to provide speech input in the WebApp.
> 
> *   Click on the green mic button to talk to the bot.
> 
> *   Click on the yellow “Unmute Speech” button to hear audio replies from the bot.
> 
> *   Alternatively, you can enter the question/statement in the text box and click on Submit and/or view the replies in text format
> 
> *   The bot answers to questions/statements like “Hello”, “How are you?”, “How is the weather in New York?”

Links/Buttons:
- [#](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#ucs-speech-bot)
- [UCS Studio](https://docs.nvidia.com/ucf/2.10.0/text/tools_reference/UCS_Tools_Reference_Studio.html#ucf-studio)
- [Remote Access](https://docs.nvidia.com/ucf/2.10.0/text/tools_reference/UCS_Tools_Reference_Studio.html#remote-access)
- [Generating Your NGC API Key](https://docs.nvidia.com/ngc/ngc-private-registry-user-guide/index.html.md#generating-api-key)
- [Creating an Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_AppDevelopment.html#app-development)
- [Development System](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Requirements.html#ucf-dev-system)
- [Deployment System](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Prerequisites.html#ucf-deployment-system)
- [https://weatherstack.com/product](https://weatherstack.com/product)
- [https://www.yelp.com/fusion](https://www.yelp.com/fusion)
- [https://developer.here.com/pricing](https://developer.here.com/pricing)
- [Deploy the Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#deploy-ref-apps)
- [Create a Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#text-chatbot)
- [Connect Microservices](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#bot-app-connect-ms)
- [acquire API keys and load parameters](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#ref-app-acquire-api-keys)
- [UCS Text Bot Application - Set Secrets](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#text-chatbot-set-secrets)
- [Build the Reference Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#build-bot-app)
- [UCS Text Bot Application](https://docs.nvidia.com/ucf/2.10.0/text/UCS_Reference_Apps.html#interact-ucf-text-bot)
