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!
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:
- 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
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
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.
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
#begin
UPDATE_CUSTOM LUIS_PARAM|spellCheck|true
Set the capability CONTAINERMODE to luis to activate this connector.
V2 or V3
Default: https://westus.api.cognitive.microsoft.com
Default: staging
Possible values:
- staging
- production
Static parameters to add as endpoint url query parameters
"LUIS_PREDICTION_STATIC_PARAMS": {
"spellCheck": "true",
"verbose": "true"
}
See Prerequisites
See Prerequisites
Required for test set upload/download