node-wit is the Node.js SDK for Wit.ai.
In your Node.js project, run:
npm install --save node-witRun in your terminal:
node examples/basic.js <WIT_TOKEN>See examples folder for more examples. Some examples have associated .zip files, do not forget to import those when creating a new app and grab your access token from the Settings section.
See examples/messenger.js for a thoroughly documented tutorial.
The Wit module provides a Wit class with the following methods:
You can also require a library function to test out your Wit app in the terminal. require('node-wit').interactive
The Wit constructor takes the following parameters:
accessToken- the access token of your Wit instancelogger- (optional) the object handling the logging.apiVersion- (optional) the API version to use instead of the recommended one
The logger object should implement the methods debug, info, warn and error.
They can receive an arbitrary number of parameters to log.
For convenience, we provide a Logger class, taking a log level parameter
Example:
const {Wit, log} = require('node-wit');
const client = new Wit({
accessToken: MY_TOKEN,
logger: new log.Logger(log.DEBUG), // optional
});
console.log(client.message('set an alarm tomorrow at 7am'));The Wit message API.
Takes the following parameters:
q- the text input you want Wit.ai to extract the information fromcontext- (optional) the Context objectn- (optional) the max number of intents and traits to get back
Example:
const client = new Wit({accessToken: 'MY_TOKEN'});
client
.message('what is the weather in London?', {})
.then(data => {
console.log('Yay, got Wit.ai response: ' + JSON.stringify(data));
})
.catch(console.error);The Wit speech API.
Takes the following paramters:
contentType- the Content-Type headerbody- the audioReadablestreamcontext- (optional) the Context objectn- (optional) the max number of intents and traits to get back
Emits partialTranscription and fullTranscription events.
The Promise returns the final JSON payload.
See lib/interactive.js for an example.
Starts an interactive conversation with your Wit app.
Use !speech to send an audio request from the microphone, or enter any text input.
Example:
const {interactive} = require('node-wit');
interactive(client);See the docs for more information.
On May 13th, 2020, the GET /message API was updated to reflect the new data model: intents, traits and entities are now distinct.
We updated the SDK to the latest version: 20200513.
You can target a specific version by passing the apiVersion parameter when creating the Wit object.
{
"text": "hello",
"intents": [
{
"id": "1353535345345",
"name": "greet",
"confidence": 0.9753
}
],
"entities": [],
"traits": []
}- Create a new app in wit.ai web console using tests/wit-ai-basic-app-for-tests.zip
- Copy the Server Access Token from app settings
- Run
WIT_TOKEN=XXX npm test, where XXX is the Server Access Token
The license for node-wit can be found in LICENSE file in the root directory of this source tree.