@ibm-watson/assistant-simple
v1.6.1
Published
A simple Node.js based web app which shows how to use the Watson Assistant API to recognize user intents.
Downloads
39
Readme
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.
Click the icon to copy the workspace ID to the clipboard.
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.