
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
@ibm-watson/customer-engagement-bot
Advanced tools
A simple Node.js based web app which shows how to use the Assistant API to recognize user intents.
Demo: http://customer-engagement-bot.mybluemix.net/
For more information on the Watson Assistant (Conversation) service, see the detailed documentation. For more information on the Tone Analyzer Service, see the detailed documentation.
If you want to experiment with the application or use it as a basis for building your own application, you need to deploy it in your own environment. You can then explore the files, make changes, and see how those changes affect the running application. After making modifications, you can deploy your modified version of the application to IBM Cloud.
apikey
valueurl
value.apikey
valueurl
value.In your IBM Cloud console, open the Watson Assistant service instance
Click on the Launch tool button to launch into the Watson Assistant tooling.
This is the Watson Assistant tooling where you can create assistants, skills and and setup different chatbots applications. We'll be importing a pre-built skill. Click on 'Skills' on the top left, and then on the Create new button.
Click on 'Import Skill' and then on the Choose JSON File button.
Find the workspace JSON file training/ce-workspace.json
from this repository on your local machine and Click the 'Import' button (make sure the Everything radio button is selected to import intents, entities and dialog).
You will be redirected into a page with four tabs, Intents, Entities, Dialog, and Content Catalog. For the purposes of this lab, the skill is fairly complete.
To interact with the correct skill, you will need the unique identifier for your skill. You can find the workspace ID from the Watson Assistant tooling. From the main Skills page, Click on the three stacked dots on the top right of the skill you created/imported. Then click on the 'View API Details' option in the menu.
Copy the Workspace ID value from this page.
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 for both Watson Assistant and Tone Analyzer in the previous step.
Add the WORKSPACE_ID
to the previous properties
Your .env
file should looks like:
# Environment variables
WORKSPACE_ID=1c464fa0-2b2f-4464-b2fb-af0ffebc3aab
ASSISTANT_IAM_APIKEY=_5iLGHasd86t9NddddrbJPOFDdxrixnOJYvAATKi1
ASSISTANT_URL=https://gateway-syd.watsonplatform.net/assistant/api
TONE_ANALYZER_IAM_APIKEY=UdHqOFLzoOCFD2M50AbsasdYhOnLV6sd_C3ua5zah
TONE_ANALYZER_URL=https://gateway-syd.watsonplatform.net/tone-analyzer/api
Install the dependencies
npm install
Run the application
npm start
View the application in a browser at localhost:3000
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
After you have the application installed and running, experiment with it to see how it responds to your input.
After you have the application deployed and running, you can explore the source files and make changes. Try the following:
Modify the .js
files to change the application logic.
Modify the .html
file to change the appearance of the application page.
Use the Watson Assistant tool to train the service for new intents, or to modify the dialog flow. For more information, see the Watson Assistant service documentation.
The application interface is designed for chatting with a customer engagement bot. Based on a previous laptop purchase, the bot asks how the experience has been and responds accordingly if given a negative or positive response.
The chat interface is in the left panel of the UI, and the JSON response object returned by the Watson Assistant service in the right panel. Your input is run against a small set of sample data trained with the following intents:
yes
no
refund: get a refund on current laptop
restart: restart the conversation at any point
tradeIn: replace current laptop with another one
thanks
greeting
The dialog is also trained on two types of entities:
design
size
weight
These intents and entities help the bot understand variations your input.
Below you can find some sample interactions:
In order to integrate the Tone Analyzer with the Watson Assistant service (formerly Conversation), the following approach was taken:
toneDetection.invokeToneAsync
in the invokeToneConversation
function in app.js.updateUserTone
function in tone_detection.js.conversation.message
in the invokeToneConversation
function in app.js.You can see the JSON response object from the Watson Assistant service in the right hand panel.
In the conversation template, alternative bot responses were encoded based on the user's emotional tone. For example:
This sample code is licensed under Apache 2.0.
Full license text is available in LICENSE.
See CONTRIBUTING.
Find more open source projects on the IBM Github Page.
FAQs
A simple Node.js based web app which shows how to use the Assistant API to recognize user intents.
The npm package @ibm-watson/customer-engagement-bot receives a total of 1 weekly downloads. As such, @ibm-watson/customer-engagement-bot popularity was classified as not popular.
We found that @ibm-watson/customer-engagement-bot demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.