🚀 Watson Assistant (formerly Conversation) Sample Application
This Node.js app demonstrates the Watson Assistant service in a simple interface engaging in a series of simple simulated banking tasks.
You can view a demo of this app.
Please note this app uses the Watson Assistant V2 API. To access a version of the V1 app, you can go to v1.4.1.
If you need more information about the V1 API, you can go to the Watson Assistant V1 API page.
Prerequisites
- Sign up for an IBM Cloud account.
- Download the IBM Cloud CLI.
- Create an instance of the Watson Assistant service and get your credentials:
- Go to the Watson Assistant page in the IBM Cloud Catalog.
- Log in to your IBM Cloud account.
- Click Create.
- Click Show to view the service credentials.
- Copy the
apikey
value, or copy theusername
andpassword
values if your service instance doesn't provide anapikey
. - Copy the
url
value.
Configuring the application
-
In your IBM Cloud console, open the Watson Assistant service instance
-
Click the Import workspace icon in the Watson Assistant service tool. Specify the location of the workspace JSON file in your local copy of the app project:
<project_root>/training/bank_simple_workspace.json
-
Select Everything (Intents, Entities, and Dialog) and then click Import. The car dashboard workspace is created.
-
Click the menu icon in the upper-right corner of the workspace tile, and then select View details.
-
In the application folder, copy the .env.example file and create a file called .env
cp .env.example .env
-
Open the .env file and add the service credentials that you obtained in the previous step. The Watson SDK automatically locates the correct environmental variables for either
username
,password
, andurl
or theapikey
andurl
credentials found in the .env file.Example .env file that configures the
apikey
andurl
for a Watson Assistant service instance hosted in the US East region:ASSISTANT_IAM_APIKEY=X4rbi8vwZmKpXfowaS3GAsA7vdy17Qhxxxxxxxx ASSISTANT_URL=https://gateway-wdc.watsonplatform.net/assistant/api
- If your service instance uses
username
andpassword
credentials, add theASSISTANT_USERNAME
andASSISTANT_PASSWORD
variables to the .env file.
Example .env file that configures the
username
,password
, andurl
for a Watson Assistant service instance hosted in the US South region:ASSISTANT_USERNAME=522be-7b41-ab44-dec3-xxxxxxxx ASSISTANT_PASSWORD=A4Z5BdGENxxxx ASSISTANT_URL=https://gateway.watsonplatform.net/assistant/api
However, if your credentials contain an IAM API key, copy the
apikey
andurl
to the relevant fields.{ "apikey": "ca2905e6-7b5d-4408-9192-xxxxxxxx", "iam_apikey_description": "Auto generated apikey during resource-key ...", "iam_apikey_name": "auto-generated-apikey-62b71334-3ae3-4609-xxxxxxxx", "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager", "iam_serviceid_crn": "crn:v1:bluemix:public:iam...", "url": "https://gateway-syd.watsonplatform.net/assistant/api" }
ASSISTANT_IAM_APIKEY=ca2905e6-7b5d-4408-9192-xxxxxxxx
- If your service instance uses
-
Add the
ASSISTANT_ID
to the previous propertiesASSISTANT_ID=522be-7b41-ab44-dec3-xxxxxxxx
Running locally
-
Install the dependencies
npm install
-
Run the application
npm start
-
View the application in a browser at
localhost:3000
Deploying to IBM Cloud as a Cloud Foundry Application
-
Login to IBM Cloud with the IBM Cloud CLI
ibmcloud login
-
Target a Cloud Foundry organization and space.
ibmcloud target --cf
-
Edit the manifest.yml file. Change the name field to something unique.
For example,- name: my-app-name
. -
Deploy the application
ibmcloud app push
-
View the application online at the app URL.
For example: https://my-app-name.mybluemix.net
License
This sample code is licensed under Apache 2.0.
Full license text is available in LICENSE.
Contributing
See CONTRIBUTING.
Open Source @ IBM
Find more open source projects on the IBM Github Page.