…
|
||
---|---|---|
.. | ||
etc | ||
schemas | ||
src | ||
tests | ||
.eslintrc.json | ||
.gitignore | ||
.nycrc | ||
LICENSE | ||
README.md | ||
api-extractor.json | ||
package.json | ||
tsconfig.json |
README.md
Bot Builder AI
Cognitive services extensions for Microsoft BotBuilder.
Installing
To add the latest version of this package to your bot:
npm install --save botbuilder-ai
Use the Daily Build
To get access to the daily builds of this library, configure npm to use the MyGet feed before installing.
npm config set registry https://botbuilder.myget.org/F/botbuilder-v4-js-daily/npm/
To reset the registry in order to get the latest published version, run:
npm config set registry https://registry.npmjs.org/
What's included?
This module contains interfaces for using Microsoft LUIS and Microsoft QnA Maker in your Botbuilder application.
Use
First, import the nessary functionality into your app.
const { LuisRecognizer, QnAMaker } = require('botbuilder-ai');
Configure and instantiate a LuisRecognizer. You will need to acquire values for appId, subscriptionKey and region from the LUIS website.
// Map the contents to the required format for `LuisRecognizer`.
const luisApplication = {
applicationId: process.env.appId,
endpointKey: process.env.subscriptionKey,
azureRegion: process.env.region
}
// Create configuration for LuisRecognizer's runtime behavior.
const luisPredictionOptions = {
includeAllIntents: true,
log: true,
staging: false
}
const luisRecognizer = new LuisRecognizer(luisApplication, luisPredictionOptions, true);
Now, call LUIS into action once you've got a TurnContext object:
// Listen for incoming requests.
server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async (turnContext) => {
const results = await luisRecognizer.recognize(turnContext);
// Since the LuisRecognizer was configured to include the raw results, get the `topScoringIntent` as specified by LUIS.
const topIntent = results.luisResult.topScoringIntent;
// Now, use topIntent to decide what action to take.
switch (topIntent) {
case '<some intent>':
// ...
break;
}
});
});
Examples
See this module in action in these example apps: