botium-connector-rasa
v0.0.11
Published
Botium Connector for Rasa
Downloads
19
Readme
Botium Connector for Rasa
This is a Botium connector for testing your Rasa chatbot.
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
Botium connects to your Rasa chatbot either to Rasa Core or to Rasa NLU directly.
When connecting to Rasa Core, Botium can test the conversational flow. When connecting to Rasa NLU, Botium can test the NLU functions only with the Botium NLP Asserters
It can be used as any other Botium connector with all Botium Stack components:
Requirements
- Node.js and NPM
- a Rasa bot
- a project directory on your workstation to hold test cases and Botium configuration
Install Botium and Rasa Connector
When using Botium CLI:
> npm install -g botium-cli
> npm install -g botium-connector-rasa
> botium-cli init
> botium-cli run
When using Botium Bindings:
> npm install -g botium-bindings
> npm install -g botium-connector-rasa
> botium-bindings init mocha
> npm install && npm run mocha
When using Botium Box:
Already integrated into Botium Box, no setup required
Connecting Rasa chatbot to Botium
Setting up Rasa
When using REST_INPUT (Rasa Core), you have to add the RestInput channel to your Rasa configuration.
When using NLU_INPUT (Rasa Core), you have to add the --enable-api command line switch when starting your Rasa server.
Setting up Botium
Create a botium.json with the the URL of your Rasa installation in your project directory:
{
"botium": {
"Capabilities": {
"PROJECTNAME": "<whatever>",
"CONTAINERMODE": "rasa",
"RASA_MODE": "REST_INPUT",
"RASA_ENDPOINT_URL": "https://box.botium.at/rasa-demo/"
}
}
}
To check the configuration, run the emulator (Botium CLI required) to bring up a chat interface in your terminal window:
> botium-cli emulator
Botium setup is ready, you can begin to write your test cases with BotiumScript.
Using the botium-connector-rasa-cli
This connector provides a CLI interface for importing convos and utterances from your Rasa model and convert it to BotiumScript.
You can either run the CLI with botium-cli (it is integrated there), or directly from this connector (see samples/nlu/package.json for an example):
> botium-connector-rasa-cli import --nlufile path-to-my-nlu.md
Please note that a botium-core installation is required
For getting help on the available CLI options and switches, run:
> botium-connector-rasa-cli --help
How to start sample
There are two samples available in the samples folder. Both of them are based on Sara - the Rasa Demo Bot. Adapt the botium.json in these directories with your own Rasa Demo installation.
You can start the samples with these commands:
> cd ./samples/core
> npm install && npm test
Supported Capabilities
Set the capability CONTAINERMODE to rasa to activate this connector.
RASA_ENDPOINT_URL
Rasa endpoint URL.
RASA_MODE
Default: DIALOG_AND_NLUT
REST_INPUT for using Rasa Core The Rasa endpoint URL is extended with /webhooks/rest/webhook for posting the Botium requests.
NLU_INPUT for using Rasa NLU The Rasa endpoint URL is extended with /model/parse for posting the Botium requests.
DIALOG_AND_NLU Combining Rasa dialogue and NLU engine endpoints
RASA_REST_ENDPOINT_PATH
Rest endpoint path. By default, it is webhooks/rest/webhook
RASA_NLU_ENDPOINT_PATH
NLU endpoint path. By default, it is model/parse
RASA_ENDPOINT_PING_URL
Default: endpoint URL/version
URL to ping for checking availability of Rasa. By default, the version-endpoint is contacted.
RASA_ENDPOINT_TOKEN
If your Rasa endpoint is protected with token authentication, you have to specify the token to use here.
RASA_ENDPOINT_JWT
If your Rasa endpoint is protected with JWT Auth, you have to specify the JWT Token here.