botium-connector-luis
Botium Connector for Luis
Botium Connector for Microsoft LUIS
This is a Botium connector for testing your Microsoft LUIS intent resolution logic.
UPDATE 2020/06/15: As Chatbots grow in importance, automated testing solutions will remain critical for ensuring that Chatbots actually do what their designers intend. We've been busy working on a product that allows testers to have visual insights and deeper understanding in their Chatbot's performance, offering several solutions to boost their interaction! Botium Coach will be introduced to the market as part of our online event on the 24th of June.
Did you read the Botium in a Nutshell articles? Be warned, without prior knowledge of Botium you won't be able to properly use this library!
How it works
LUIS is just a stateless NLP. It does send answer, just returns intent, entities. So you are not able to test the answers, as for a chatbot engine. But you can check intent, and entities, and use other asserter and logic hook.
You can assert composite entities too:
INTENT <CompositeEntityName>.<EntityName>
It can be used as any other Botium connector with all Botium Stack components:
Prerequisites
- Node.js and NPM
- LUIS account
- LUIS project (Just to try this connector you can use public IoT project from Microsoft used for the interactive demonstration)
- Application ID
- Open your project, then go to Manage, Application Information, Application ID
- The Id for the public IoT project is df67dcdb-c37d-46af-88e1-8b97951ca1c2
- LUIS key
- authoring key (up to 1000 queries to the prediction endpoint API per month for all your LUIS apps)
- subscription keys (Azure account required, free tier possible)
- a project directory on your workstation to hold test cases and Botium configuration
Install Botium and Microsoft LUIS Connector
When using Botium CLI:
> npm install -g botium-cli
> npm install -g botium-connector-luis
> botium-cli init
> botium-cli run
When using Botium Bindings:
> npm install -g botium-bindings
> npm install -g botium-connector-luis
> botium-bindings init mocha
> npm install && npm run mocha
When using Botium Box:
Already integrated into Botium Box, no setup required
Connecting Microsoft Luis to Botium
Create a botium.json with Application ID, and LUIS key:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "Botium Project LUIS",
"CONTAINERMODE": "luis",
"LUIS_APP_ID": "xxx",
"LUIS_ENDPOINT_KEY": "xxx"
}
}
}
Botium setup is ready, you can begin to write your BotiumScript files.
How to start sample
There is a small demo in samples/IoT dir with Botium Bindings. This tests the public IoT project. So to start it you have to add your authoring key to the botium.json file. Afterwards:
> npm install
> npm test
Additional Input Parameters
#begin
UPDATE_CUSTOM LUIS_PARAM|spellCheck|true
Supported Capabilities
Set the capability CONTAINERMODE to luis to activate this connector.
LUIS_API_VERSION
V2 or V3
LUIS_PREDICTION_ENDPOINT_URL
Default: https://westus.api.cognitive.microsoft.com
LUIS_PREDICTION_ENDPOINT_SLOT
Default: staging
Possible values:
- staging
- production
LUIS_PREDICTION_STATIC_PARAMS
Static parameters to add as endpoint url query parameters
"LUIS_PREDICTION_STATIC_PARAMS": {
"spellCheck": "true",
"verbose": "true"
}
LUIS_APP_ID
See Prerequisites
LUIS_ENDPOINT_KEY
See Prerequisites
LUIS_AUTHORING_KEY
Required for test set upload/download