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!
https://www.talk.jackdh.com (User: [email protected] Pass: demo1234)
Prerequisites
- Database: Mongodb - You can run this locally or online like mlab
- Chatbot Brain: Rasa NLU - I recommend running with Docker
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
- 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!
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!
- 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
- 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.
- Role based, Group Based & individual user permissions.
- Create secure user accounts using PassportJS
- Limit user access to certain features within the application.
- Convert Intents into training data.
- Accurate entity insertion (Not just search and replace)
- View current training time.
- View models currently in training.
- Ping the Rasa server directly to get a JSON response.
- Test the chatbot directly to see output of dialog management.
- Fill out the front dashboard to expand on the simple analytics.
- View user's chats with the chatbot.
- Filter down based on criteria such as Dates, Topics or Intents.
- Implement simple small talk.
- 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.
- Prettier is picking up a non existent issue with spacing.
- Dashboard analytics need a default value.
@Material-UI React Boilerplate