Rasa Workers

Type: NLP Worker

A Rasa worker takes user input and sends it to a ServisBOT RaaS (hosted rasa) bot for natural language processing. A Rasa worker can be created through the CLI.

Rasa fields

  • rasaURL: ServisBOT can provide a hosted version of Rasa for organizations, eliminating the level of effort required to get up and running with Rasa. Contact your customer support rep to get started with Rasa.
  • type:
    • Webhook - is a default rasa bot hosted by ServisBOT customers outside of our architecture. A rasa worker that uses this type will receive responses sent directly from the rasa server, as there is no support for Botnet Actions when using this rasa worker type.
    • ThinBot - is part of our hosted RASA offering
    • NluWebhook - is a rasa worker which uses the Rasas NLU engine to get intent detection results rather than a bot response from Rasa. This type of rasa worker only supports running Botnet Actions, as the NLU Rasa endpoint does not supply a text response to respond to the user with. If an intent is detected, the Botnet Actions associated with the detected intent will be run.
  • botName: botname should correspond to the bot name expected by your Rasa model.

Creating Rasa worker through cli

Webhook

The worker configuration for Rasa worker with type Webhook is as follows

{
  "Data": {
    "rasaUrl": "http://<DOMAIN>/webhooks/rest/webhook",
    "botName": "rasa-botname",
    "type": "Webhook",
    "SlashCommands": {
      "/welcome": [{
          "type": "content",
          "value": "welcomewithname"
        },
        {
          //Another valid botnet action
        }
      ]
    }
  },
  "Organization": "my-org",
  "Config": {},
  "Enabled": true,
  "Description": "Bot description",
  "Type": "rasa-worker",
  "Name": "Servisbotname",
  "Status": "published"
}

Where <DOMAIN> is the domain of your rasa server.

NluWebhook

The worker configuration for Rasa worker with type NluWebhook is as follows

{
  "Data": {
    "rasaUrl": "http://<DOMAIN>/model/parse",
    "botName": "rasa-botname",
    "type": "NluWebhook"
  },
  "Organization": "my-org",
  "Config": {},
  "Enabled": true,
  "Description": "Bot description",
  "Type": "rasa-worker",
  "Name": "Servisbotname",
  "Status": "published"
}

Where <DOMAIN> is the domain of your rasa server.

Save worker json to a file and create a worker using the cli command sb-cli worker create file.json

Once you have created the worker using the CLI, it will return an ID for you. You need to then update/create a bot and place the worker at the top with this id and the type of rasa-worker

Loading a Rasa Model

Once you have your bot with a worker set up. Train your Rasa model locally and load it into the platform. If ServisBOT Rasa is enabled you will be able to run the following commands:

  sb-cli ml-model upload <bot> <type> <file>

To see a list of models uploaded to your organization run the following:

 sb-cli ml-model list <bot> [type]

To delete a rasa model:

  sb-cli ml-model delete <srn>