botium-connector-rasa

0.0.11 • Public • Published

Botium Connector for Rasa

NPM

Codeship Status for codeforequity-at/botium-connector-rasa npm version license

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.

Readme

Keywords

none

Package Sidebar

Install

npm i botium-connector-rasa

Weekly Downloads

1

Version

0.0.11

License

MIT

Unpacked Size

372 kB

Total Files

35

Last publish

Collaborators

  • ftreml