This Node.js app demonstrates the Watson Assistant service in a simple chat interface simulating a cognitive car dashboard.
- Create an IBM Cloud account
- Sign up in IBM Cloud, or use an existing account. Your account must have available space for at least 1 app and 1 service.
- Make sure that you have the following prerequisites installed:
-
The Node.js runtime, including the [npm][npm_link] package manager
-
The [Cloud Foundry][cloud_foundry] command-line client
Note: Ensure that you Cloud Foundry version is up to date
-
You can use an exisiting instance of the Watson Assistant service. Otherwise, follow these steps.
-
At the command line, go to the local project directory (
assistant-simple). -
Connect to IBM Cloud with the Cloud Foundry command-line tool. For more information, see the Watson Developer Cloud [documentation][cf_docs].
cf login
-
Create an instance of the Watson Assistant service in IBM Cloud (our CLI is being updated, for now, use the
create-serviceconversation command). For example:cf create-service conversation free my-watson-assistant-service
-
Copy or rename the
.env.examplefile to.env(nothing before the dot). -
Create a service key in the format
cf create-service-key <service_instance> <service_key>. For example:cf create-service-key my-watson-assistant-service myKey
-
Retrieve the credentials from the service key using the command
cf service-key <service_instance> <service_key>. For example:cf service-key my-watson-assistant-service myKey
The output from this command is a JSON object, as in this example:
{ "password": "87iT7aqpvU7l", "url": "https://gateway.watsonplatform.net/conversation/api", "username": "ca2905e6-7b5d-4408-9192-e4d54d83e604" } -
Paste the
passwordandusernamevalues (without quotation marks) from the JSON into theASSISTANT_PASSWORDandASSISTANT_USERNAMEvariables in the.envfile. For example:
G ASSISTANT_USERNAME=ca2905e6-7b5d-4408-9192-e4d54d83e604 ASSISTANT_PASSWORD=87iT7aqpvU7l
-
Setup other parameters for UiPath in the
.envfile.AUTH_USERNAME=<Username for Authentication> AUTH_PASSWORD=<Password for Authentication> UIPATH_AUTH_TENANT=<Tenant for UiPath Orchestrator> UIPATH_AUTH_USERNAME=<Username for UiPath Orchestrator> UIPATH_AUTH_PASSWORD=<Password for UiPath Orchestrator>
-
Install the demo app package into the local Node.js runtime environment:
npm install
-
Start the app:
npm start
-
Point your browser to http://localhost:3000 to try out the app.
You can use Cloud Foundry to deploy your local version of the app to IBM Cloud.
- In the project root directory, open the
manifest.ymlfile:
- In the
applicationssection of themanifest.ymlfile, change thenamevalue to a unique name for your version of the demo app. - In the
servicessection, specify the name of the Watson Assistant service instance you created for the demo app. If you do not remember the service name, use thecf servicescommand to list all services you have created.
The following example shows a modified manifest.yml file:
---
declared-services:
my-watson-assistant-service:
label: conversation
plan: free
applications:
- name: <Application Name>
command: npm start
path: .
memory: 256M
instances: 1
services:
- <Service Name of Watson Assistant>
env:
NPM_CONFIG_PRODUCTION: false- Push the app to IBM Cloud:
cf pushAccess your app on IBM Cloud at the URL specified in the command output.
This sample code is licensed under Apache 2.0. Full license text is available in LICENSE.