All Projects → ibm-watson-data-lab → concierge

ibm-watson-data-lab / concierge

Licence: other
A Watson powered conversational bot for small businesses

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to concierge

assistant-with-discovery-openwhisk
DEPRECATED: this repo is no longer actively maintained
Stars: ✭ 21 (+40%)
Mutual labels:  watson, openwhisk
simple-chat-swift
DEPRECATED: this repo is no longer actively maintained
Stars: ✭ 49 (+226.67%)
Mutual labels:  watson
ibm-cloud-functions-rest-api-trigger
IBM Cloud Functions building block - HTTP REST Trigger - This project provides a starting point for handling events from REST API calls with IBM Cloud Functions powered by Apache OpenWhisk.
Stars: ✭ 17 (+13.33%)
Mutual labels:  openwhisk
Kitura-CouchDB
CouchDB adapter for Kitura
Stars: ✭ 50 (+233.33%)
Mutual labels:  cloudant
WatsonWebsocket
A simple C# async websocket server and client for reliable transmission and receipt of data
Stars: ✭ 158 (+953.33%)
Mutual labels:  watson
wskdebug
Debugging and live development tool for Apache OpenWhisk - MOVED >>
Stars: ✭ 17 (+13.33%)
Mutual labels:  openwhisk
openwhisk-runtime-go
Apache OpenWhisk Runtime Go supports Apache OpenWhisk functions written in Go
Stars: ✭ 31 (+106.67%)
Mutual labels:  openwhisk
faas-tutorial
Java FaaS demos with OpenWhisk and OpenShift
Stars: ✭ 43 (+186.67%)
Mutual labels:  openwhisk
watson-personality-insights-php
Framework Agnostic Watson Personality Insights Client
Stars: ✭ 13 (-13.33%)
Mutual labels:  watson
redaxo watson
Suchagent für REDAXO 4.5 + 5
Stars: ✭ 28 (+86.67%)
Mutual labels:  watson
text-bot-openwhisk
DEPRECATED: this repo is no longer actively maintained
Stars: ✭ 12 (-20%)
Mutual labels:  openwhisk
visual-recognition-with-coreml
🕶 Classify images offline using Watson Visual Recognition and Core ML.
Stars: ✭ 40 (+166.67%)
Mutual labels:  watson
spring-boot-starter
Spring Boot support for Watson services
Stars: ✭ 12 (-20%)
Mutual labels:  watson
sms-analysis-with-wks
Analyzing SMS offers for domain specific entities using Watson Knowledge Studio and Watson's Natural Language Understanding
Stars: ✭ 17 (+13.33%)
Mutual labels:  watson
openwhisk-runtime-python
Apache OpenWhisk Runtime Python supports Apache OpenWhisk functions written in Python
Stars: ✭ 39 (+160%)
Mutual labels:  openwhisk
get-started-java
Sample and tutorial to help you get started with a Java EE app, REST API and a database.
Stars: ✭ 28 (+86.67%)
Mutual labels:  cloudant
speech-to-text-code-pattern
React app using the Watson Speech to Text service to transform voice audio into written text.
Stars: ✭ 37 (+146.67%)
Mutual labels:  watson
ibm-cloud-functions-serverless-ocr-openchecks
Serverless bank check deposit processing with object storage and optical character recognition using Apache OpenWhisk powered by IBM Cloud Functions. See the Tech Talk replay for a demo.
Stars: ✭ 40 (+166.67%)
Mutual labels:  openwhisk
openwhisk-runtime-dotnet
Apache OpenWhisk Runtime .Net supports Apache OpenWhisk functions written in .Net languages
Stars: ✭ 23 (+53.33%)
Mutual labels:  openwhisk
simple-search-service
A faceted search engine and content API.
Stars: ✭ 38 (+153.33%)
Mutual labels:  cloudant

concierge

A utilty that allows a small business owner to create a Watson-powered chatbot to answer questions about their business and publish it to their web page. The chatbot can answer questions about your business's contact details, directions and can even help take bookings.

screenshots

See a live demo here showing Concierge in action - the concierge chatbot can be found in the bottom right corner of the page.

Pre-requisites

  1. Node.js - this is a Node.js script, so you'll need Node.js installed.
  2. Bluemix - Bluemix is IBM's cloud platform. Sign up for a free acount. This will give you the ability to provision cloud services such as Watson Conversation and use the OpenWhisk platoform (see below).
  3. Watson Conversation API - The Watson Conversation service has a free demo account and is provisioned in your Bluemix dashboard. Simply add the service and make a note of your service username/password.
  4. OpenWhisk - IBM's OpenWhisk Serverless platform is part of Bluemix. Download and configure the wsk command-line tool.
  5. Cloudant - if you want to store your chatbot questions and responses, then also provision a Cloudant service in your Bluemix dashboard. Make a note of your Cloudant URL.

Running the concierge tool

Install the concierge tool

npm install -g concierge-chatbot

Then simply run the command-line tool with your Watson Conversation API credentials to hand:

concierge-chatbot

and answer the questions as prompted.

terminal

At the end of the process, the concierge-chatbot tool will

  • configure a chatbot in your Watson Conversation service (it may take a minute or so for Watson to learn your configuration)
  • configure an OpenWhisk API endpoint that gives your chatbot a web interface
  • tells you the HTML to paste into your own web page to add the chatbot to your website

It's that simple!

Storing your conversations

The concierge tool will also prompt you for a Cloudant URL and Cloudant Database name. If they are supplied then the converation will be stored in that database as it happens (don't forget to create the database in the Cloudant dashbaord first). This will allow you to perform analytics on your chats. How many people used it? What questions did they ask? What bookings have I collected today?

Using this library programmatically

As well as the concierge-chatbot command-line tool, you may also use this as a library within your own applications. Simply use npm install --save concierge-chatbot to add it to your project and require it into your own code:

  var concierge = require('concierge-chatbot');

The concierge object then has the following functions

interactive()

Call interactive to initiate an command-line session where the user will be prompted for the business data on the command line.

concierge.interactive();

createWorkspace(data)

The createWorkspace function creates a Watson Conversation configuration given the business data:

var data = {
	"username": "MYWATSONCONVERSATIONUSERNAME",
	"password": "MYWATSONCONVERSATIONPASSWORD",
	"cloudanturl": "https://MYUSERNAME:[email protected]",
	"cloudantdbname": "concierge",
	"name": "The Pretend Hotel",
	"address": "18 Front Street, London",
	"postcode": "W1A1AA",
	"phone": "01818118181",
	"website": "http://pretendhotel.com",
	"email": "[email protected]",
	"twitter": "pretendhotel",
	"facebook": "https://facebook.com/pretendhotel",
	"opening": "24 Hours",
	"id": "The_Pretend_Hotel"
};
concierge.createWorkspace(data).then(function(reply) {
  console.log('Watson Conversation Bot created', reply);
});

createWhiskActions(data)

The createWhiskActions function creates a public-facing API call to allow your chatbot to be seen by the outside world. It creates a Node.js OpenWhisk action in your Bluemix account using the wsk command-line tool and then exposes that code as an API call that can be used by any web page.

var data = {
	"username": "MYWATSONCONVERSATIONUSERNAME",
	"password": "MYWATSONCONVERSATIONPASSWORD",
	"cloudanturl": "https://MYUSERNAME:[email protected]",
	"cloudantdbname": "concierge"
};
concierge.createWhiskActions(data).then(function(reply) {
  console.log('OpenWhisk action created', reply);
});

getTemplateHTML(url, workspace)

The getTemplateHTML function creates a snippet of HTML code to be pasted into your website given

  • url - the URL of the OpenWhisk action
  • workspace - the id of the Watson Conversation workspace
var html = getTemplateHTML('http://myurl.com/concierge/chat', 'abc123');
console.log('HTML generated', html);

Stored configuration

To save your typing, the concierge-chatboot tool stores a copy of the configuration it used in a file at ~/.concierge.json. If you want to remove this saved data, simply delete the file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].