Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jackdh/RasaTalk

A chatbot framework for Rasa NLU
https://github.com/jackdh/RasaTalk

bot botkit bots chatbot chatbot-framework conversational-ai nlp nodejs rasa rasa-nlu react

Last synced: about 2 months ago
JSON representation

A chatbot framework for Rasa NLU

Awesome Lists containing this project

README

        


                 

Basic Overview

Rasa Talk is a Dialog Management tool built on top of Rasa NLU. It was built out of a desire for a open source on premise dialog management system. Originally inspired by Rasa UI inspiration was taken from watson conversation.

Rasa Talk can be used as just a training data generator but can also hook your chatbot up to Facebook/Telegram/Skype/Slack whatever!

Feel free to message me on [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/RasaTalk/Lobby)

[![Build Status](https://travis-ci.org/jackdh/RasaTalk.svg?branch=master)](https://travis-ci.org/jackdh/RasaTalk)

Demo

[https://www.talk.jackdh.com](http://www.talk.jackdh.com) (User: [email protected] Pass: demo1234)




Installation

**Prerequisites**

- Database: [Mongodb](https://www.mongodb.com/) - You can run this locally or online like [mlab](https://mlab.com/)
- Chatbot Brain: [Rasa NLU](https://rasa.com/docs/nlu/) - I recommend running with [Docker](https://hub.docker.com/r/rasa/rasa_nlu/)

```
git clone https://github.com/jackdh/RasaTalk/
Rename example.env to '.env'
Update the variables to include your MongoDB server IP and Rasa NLU IP.
yarn
yarn start
```

**Docker**

Update `.env` or `docker-compose.yml` with selected environment variables. (Mongodb volumes do not work on windows)

`docker-compose up`

**Or view https://github.com/jackdh/RasaTalk/wiki/Setup for a more detailed setup guide**

Up and Running

* Update .env with correct environment variables.
* Create a new user
* Add a new Agent
* Add some intents to the agent
* Add some expressions to the intents.
* Add entities if required.
* Start training the model
* Create a dialog node which is recognised by either and Intent or Regex.
* Populate the rest of the node
* Test it out on the right!

Features

Facebook / Skype / Third parties.



Third Party Intregration


Due to the constumisable nature of RT it's possible to hook it up to practically any third party chatbot you'd like. For starters I've included a quick example of how you might use [Botkit](https://github.com/howdyai/botkit) as a middleware to get to Facebook

Both Facebook and Telegram can be easily setup within the app 🚀 Check out the [telegram setup](https://github.com/jackdh/RasaTalk/wiki/Telegram-Setup) wiki for more information!

Generate Rasa NLU Training Data

* Agents - Create multiple agents to host multiple chatbots from one backend.
* Intents / Expressions - Build multiple varied expressions within the agents either manually or with the variant generator.
* Entities - Create multiple entities with their synonyms.
* Entity insertion - Highlight to insert entities into expressions


Quickly add training data with entities


Dialog Management

* Watson Conversation style dialog management.
* Regex based or Intent based recognition.
* Dynamic recognition with multiple Intents or Entities ie: #intent OR @entity
* Smart contextual awareness
* Slot Filling with default slot or prompting
* Multiple and or varied responses.
* Jump to nodes
* Send and use REST API web hooks within nodes.
* Conditional based responses, webhooks, jump to's.
* Save user responses for future use within nodes or API's
* Create quick reply buttons.


Dialog management
Updating Nodes

Permission Based Editing

* Role based, Group Based & individual user permissions.
* Create secure user accounts using PassportJS
* Limit user access to certain features within the application.


Fine grain permission control


Training Rasa

* Convert Intents into training data.
* Accurate entity insertion (Not just search and replace)
* View current training time.
* View models currently in training.


Generate, download & train Rasa UI.


Built in Chatbot / Rasa parsers

* Ping the Rasa server directly to get a JSON response.
* Test the chatbot directly to see output of dialog management.


Directly see NLU results and chatbot outputs.


Still to come!

Further Analytics

* Fill out the front dashboard to expand on the simple analytics.

History

* View user's chats with the chatbot.
* Filter down based on criteria such as Dates, Topics or Intents.

Small Talk

* Implement simple small talk.

Todo / Help requested!

* Increase test coverage to 100%.
* Add Travis / Appveyor
* Provide autocomplete options for fields such as nodes.
* Better validation / error notifications.
* Add rename option for intents / expressions
* Add backup option for node / training data.
* Add sockets for chat as well as update notifications.

Known issues

* Prettier is picking up a non existent issue with spacing.
* Dashboard analytics need a default value.

Thanks

@Material-UI
React Boilerplate