Skip to content

emiago/diagrams2ai

Repository files navigation

diagrams2ai

Simple way of building chatbot by connecting diagram nodes to make a different stories. Goal is to create easier way for building chatbots without just adding bunch of intents and actions, which can be very complex.

NOTE: This is in development, it is just experimental for now, code needs to be refactored.

  • Creaing Intent, Adding/Removing multiple actions
  • Parsing diagrams to RASA stories, nlu and domain
  • Saving and training model within GUI
  • Interactive chat for testing and debuging stories
  • Handling multiple models and running containers per bot
  • Utter Responses
  • Custom Fallback Action
  • Utter Buttons Action
  • Deleting models
  • Making customizable all default Rasa actions
  • Utter Buttons with intent or custom dropdown search selection
  • Custom action builder - Creating with unique names and managing custom actions to reduce repeating
  • Better rasa bot containers handling
  • More configurable options for backend server like models and data locations
  • Multiline responses

How it works

You can built, train, run and chat straight away from GUI. It also allows you to have different models built.

Editing

Diagram nodes represent different intents in your story. Each intent has different actions and this can be all configured in widget editor.

Interactive chat

Chat is added for testing, but also while you speak it marks current active intent. This helps for debuging your stories.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

This project uses docker for training and running different RASA chatbots

  • docker
  • redis
  • npm or yarn (GUI)
  • Go (backend server + action server)

You need to pull out rasa and redis image.

docker pull rasa/rasa
docker pull redis

This project uses redis as database also, so you should run it as:

docker run -d --name myredis -p 6379:6379 redis-server --appendonly yes

And there you Go, you enviroment is ready, now you can fire up backend server that is built with GO and front end built with ReactJS

Running

Now you just need to run backend server and web app, that will handle all configurations and starting different bot containers. It is built with GO lang.

Backend server

go run main.go

GUI

cd gui/
yarn install
yarn start

Deployment

This is not for production, but you could use it to built startup Rasa models and then copy paste to your chatbot in production. There you can do additionaly configuration and train with rasa, or you can just use this model as it is.

By default you should see them:

./save/rasa/<id>

Built With

  • RASA - RASA for training and running chatbots
  • ReactJS - The web framework used
  • GO - Go for backend server

License

This project is licensed under the MIT License - see the LICENSE.md file for details