Package Exports
- askwatson
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (askwatson) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
This module is in npm as askwatson
. It provides a simple API for asking Watson a question on Bluemix using the
question_and_answer service
.
Basically you will need to get set up on Bluemix/CF and follow the instructions given
for the sample Node.js application here https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/qaapi/#commonApplication, including running the cf
commands, but
I have factored out that code a bit into two modules, so your application can
be cleaner. In case you need help finding the cf
command line program you can download it from here https://github.com/cloudfoundry/cli/releases (under Installers) and install it with dpkg -i <filename>
.
The first module is called bluemix-request-simple
and it has the parts for pulling
the host and port out of the environment and using them in a request.
The other module is this one, which is very simple to use:
watson.ask('healthcare', 'What is the most common kind of cancer', function(err, answers) {
console.log(answers);
});
This will need to run on Bluemix so a more complete example would be:
var watson = require('askwatson')
, restify = require('restify');
var server = restify.createServer();
server.get('/:domain/:question', function(req, res) {
watson.ask(req.params.domain, req.params.question, function(e, ans) {
res.send(ans);
});
});
server.listen(process.env.VCAP_APP_PORT, process.env.VCAP_APP_HOST, function() {
console.log('%s listening at %s', server.name, server.url);
});
Note that if you use GET as in this example it will be simpler to test but you can only use short questions (try curl "http://whatever.mybluemix.net/healthcare/What+is+the+most+common+kind+of+cancer"
). If you use something longer for the question it will blow up the app, so you will probably want to use POST.