Skip to content

SchoolOfFreelancing/RasaTalk

This branch is 10 commits behind jackdh/RasaTalk:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3db684f Â· Aug 5, 2019
Nov 26, 2018
Jul 7, 2018
Mar 17, 2019
Aug 5, 2019
Jun 7, 2019
Jun 25, 2018
Nov 3, 2018
Jun 25, 2018
Oct 20, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Jun 25, 2018
Aug 8, 2018
Jun 25, 2018
Oct 18, 2018
Jan 24, 2019
Jun 25, 2018
Apr 1, 2019
Apr 1, 2019
Jul 7, 2018
Jul 24, 2019
Jul 24, 2019

Repository files navigation

                 

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

Build Status

Demo

https://www.talk.jackdh.com (User: demo@jackdh.com Pass: demo1234)

Installation

Prerequisites

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 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

About

A chatbot framework for Rasa NLU

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 98.3%
  • HTML 1.7%