2.0.10 • Published 6 years ago

botbuilder-wit v2.0.10

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

botbuilder-wit

npm version Build Status codecov

Node.js module that provides Wit.ai NLP integration for the Microsoft Bot Builder SDK, with built-in support for caching with Redis and Memcached.

Installation

npm install --save botbuilder-wit

General Usage

// v2.x.x now uses a named export for the WitRecognizer class instead of module.exports
const { WitRecognizer } = require('botbuilder-wit');
const { IntentDialog } = require('botbuilder');
const recognizer = new WitRecognizer('Wit.ai_access_token');
const intents = new IntentDialog({recognizers: [recognizer]});

intents.matches('intent.name', (session, args) => {...});
intents.onDefault(session => {...});

bot.dialog('/', intents);

// Alternatively, you can add a global recognizer to the bot
bot.recognizer(new WitRecognizer('Wit.ai_access_token'));
bot.dialog('/doSomething', session => {...}).triggerAction({ 
    matches: 'intent.name'
});

Enable Response Caching

If caching is enabled, the WitRecognizer will try to serve the cached result first, and only send a request to Wit.ai when necessary. The subsequent response from Wit.ai will be cached for the configured duration.

// An example
// ----------
// Create a Redis client
const redis = require('redis');
const redisClient = redis.createClient({/* options */});

// Or a Memcached client
const Memcached = require('memcached');
const memcached = new Memcached('hostname:11211');

// Configure the recognizer to use the client
// Set an optional key expire duration in seconds, defaults to 3 hours
const recognizer = new WitRecognizer('Wit.ai_access_token', { cache: redisClient, expire: 3600 });

Using Entities

You can use the utility class EntityRecognizer to parse & resolve common entities.

// Inside your dialog handler that receives the session and arguments object
const { EntityRecognizer } = require('botbuilder');
const location = EntityRecognizer.findEntity(args.entities, 'location')

Using the Wit.ai client

You can still use the Wit.ai client directly by accessing the witClient property of the instantiated WitRecognizer.

const recognizer = new WitRecognizer('Wit.ai_access_token');
const witClient = recognizer.witClient;

License

MIT

2.0.10

6 years ago

2.0.9

6 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago