Giter VIP home page Giter VIP logo

rasa-ui's Introduction

Docker Automated build

Rasa UI

Rasa UI is a web application built on top of, and for, Rasa NLU. Rasa UI provides a web application to quickly and easily be able to create agents, define intents and entities. It also provides some convenience features for Rasa NLU, like training your models, monitoring usage or viewing logs. Our goal is to replace api.ai/Dialogflow with Rasa, so a lot of the terminology and usage concepts are similar.

Features in 1.0

  • Webhook option for Agents
  • Authentication module can be extended to a different IDP and session is handled by JWT token
  • Webhooks also receive User information part of JWT Token in the Bearer Authorization Header
  • User level Tracking of conversations
  • New Insights to show the frequently used intents and more drill down details on utterances to be added
  • Import Agents in rasa format
  • Docker container capabilities
  • Existing apps can migrate to this version after running the db-alters.sql under resources and updating their codebase to master.(Although a backup of the data is recommended as rasa-uui is still in Beta version)
  • Adapted to rasa_nlu 0.10.x Projects Structure. Each Agent in UI translates to a Project on the NLU.

Screenshot1

Features

  • Training data stored in DB
  • UI for managing training data
  • Initiate training from UI
  • Review Rasa configuration and component pipelines
  • Log requests for usage tracking, history, improvements
  • Usage dashboard
  • Easily execute intent parsing using different models

Screenshot1

Getting Started

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

Prerequisites

Rasa NLU - Version 8.2.?+

PostgreSQL - Used for storing training data (entities, intents, synonyms, etc.)

Node.js/npm - Serves Rasa UI and acts as a middleware server for logging (to the PostgreSQL DB)

Installing

Please ensure prerequisites are fulfilled

Clone/download the Rasa UI repository. Install npm packages for both Server and Web.

git clone https://github.com/paschmann/rasaui.git
cd rasaui && npm install

Please see the wiki for more detailed instructions.

Docker Setup

In order to run this setup in docker you need to run the following command to build out the image:

docker build -t rasa-ui . - Make sure to perform this from the location where the Dockerfile is.

Now we can spin up our docker instance with the following command:

Use Your External Rasa Server In this command we are setting the env variables rasanluendpoint and rasacoreendpoint to our own specific values, you can supply only 1 or both of these depending on if you want to use NLU or Core or both externally.

docker run -e "rasanluendpoint=http://youripaddress:5000" -e "rasacoreendpoint=http://youripaddress:5005" -itd -p 5001:5001 rasa-ui

Use Built In Rasa This command will use the built in Rasa NLU and Core

docker run -itd -p 5001:5001 rasa-ui

DB Setup

  • Execute dbcreate.sql on postgreSQL. (If migrating from an older version of rasa-ui, execute db-alters.sql)
  • All the Tables and views should be setup

RasaNLU Setup

  • Update your package.json file to include the IP Addresses of your rasa_nlu server and the connection string of your postgres instance.
  • Optional: Update your web/src/app.js file to include the IP Addresses of your local middleware server (no need to change this if they are running on the same instance)

Running

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

npm start

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

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" the Rasa UI middleware layer. All API requests are simply forwarded, logged and then returned.

e.g. Instead of calling: http://localhost:5000/parse?q=hello%20there rather call: http://localhost:5001/api/v2/rasa/parse?q=hello%20there

Contributing

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

Contributers

  • Paul Aschmann
  • Pradeep Mamillapalli

License

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

rasa-ui's People

Contributors

pradeepmvn avatar paschmann avatar sap-it avatar claasbrueggemann avatar btotharye avatar beevelop avatar arshidkv12 avatar deep-blue-2013 avatar oceania2018 avatar ayashjorden avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.