/rasa-ui

Rasa UI is a frontend for the Rasa Framework

Primary LanguageJavaScriptMIT LicenseMIT

Docker Automated build

Rasa UI

Rasa UI is a web application built on top of, and for Rasa. Rasa UI provides a web application to quickly and easily be able to create and manage bots, NLU components (Regex, Examples, Entities, Intents, etc.) and Core components (Stories, Actions, Responses, etc.) through a web interface. It also provides some convenience features for Rasa, like training and loading your models, monitoring usage or viewing logs.

Features

  • UI for creating and managing training data - Examples, Intents, Entities, Synonyms, Regex, Stories, Actions, Responses
  • Manage multiple bots from a single UI/instance of Rasa UI
  • Create, manage and load different versions of your models for testing and optimizing
  • Log requests for usage tracking, history and improvements to your models
  • Easily execute intent parsing using different models
  • Data is stored in a SQLite DB for backing up/sharing
  • Can be used with or without a Rasa backend to manage your training data

Getting Started

Rasa UI can run on your Rasa instance, or on a separate machine. Technically Rasa is not required, you could just use the UI for managing training data.

Prerequisites

Node.js/npm - Serves Rasa UI - Required

Rasa - Developed against Version 1.2+ - Optional

Installing

  1. Clone/download the Rasa UI repository or a release
  2. Install npm packages.
  3. Set Rasa Server variable in package.json
git clone https://github.com/paschmann/rasa-ui.git
cd rasa-ui
npm install

Running

Run npm start from the server folder (rasa-ui)

npm start

Your web application should be available on http://localhost:5001

Running from Docker

If you already have a Rasa instance setup and running, you can run Rasa UI from docker hub using paschmann/rasa-ui. You will need to edit the environment variables, specifically the rasa_endpoint.

If you dont have a Rasa instance setup, you can run both Rasa and Rasa UI using the docker-compose file, copy the file to a local directory and run the command below:

docker-compose up

The docker-compose up command will use the docker-compose.yml file to create both the Rasa container and Rasa UI container, and create a networked connection between both.

Upgrading

Because Rasa UI uses a Database to store training data, and other content, in the event the database schema changes, you will need to modify your database when upgrading to newer versions of Rasa UI. Please review the server/db migration folder for upgrade scripts from and to newer versions if you have existing data and want to maintain it. If you are upgrading from Rasa UI prior to v.3.0.0 there is no data migration path as previously postgres was used, and now sqlite is being used.

Logging

Since Rasa UI can be used to log events/intent parsing/training etc. we would suggest changing your endpoints for your API calls to "pass through" Rasa UI. All API requests are simply logged, forwarded to Rasa and then returned.

e.g. Instead of POST'ing to your Rasa instance which is normally something like http://localhost:5005/model/parse?q=hello you can POST to Rasa UI (e.g. http://localhost:5001/api/v2/rasa/model/parse?q=hello)

Contributing

Please read contributing.md for details on our code of conduct, and the process for submitting pull requests to us.

Contributers

Rasa UI is possible thanks to all the awesome contributers, thank you!

  • Pradeep Mamillapalli
  • elvay1
  • huberrom
  • ClaasBrueggemann
  • btran10
  • btotharye
  • beevelop

License

This project is licensed under the MIT License - see the license file for details